@model-match/api 3.7.0 → 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-B_dYa7m6.d.mts → index-C2yk67yZ.d.mts} +7661 -2537
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/slim/index.d.mts +418 -73
- package/dist/slim/index.mjs +1994 -321
- package/dist/{src-CwTkvxPw.mjs → src-D7ciHm-w.mjs} +1916 -243
- package/openapi.json +20530 -6860
- package/package.json +2 -2
package/dist/slim/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as createClient, y as client } from "../src-
|
|
1
|
+
import { n as createClient, y as client } from "../src-D7ciHm-w.mjs";
|
|
2
2
|
//#region src/slim/sdk.gen.ts
|
|
3
3
|
/**
|
|
4
4
|
* Get a bulk job and a signed download URL (admin)
|
|
@@ -18,193 +18,6 @@ const adminGetBulkJob = (options) => {
|
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
21
|
-
* List recent task runs (admin)
|
|
22
|
-
* Recent run traces across the background tasks, newest first, with status and duration. Filter by service, status, and time window.
|
|
23
|
-
*/
|
|
24
|
-
const adminListObservabilityRuns = (options) => {
|
|
25
|
-
return (options?.client ?? client).get({
|
|
26
|
-
security: [{
|
|
27
|
-
name: "x-api-key",
|
|
28
|
-
type: "apiKey"
|
|
29
|
-
}, {
|
|
30
|
-
scheme: "bearer",
|
|
31
|
-
type: "http"
|
|
32
|
-
}],
|
|
33
|
-
url: "/v1/admin/observability/runs",
|
|
34
|
-
...options
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Get the span waterfall for one run (admin)
|
|
39
|
-
* All spans for a run, paired into start/end with durations and the parent links needed to render the waterfall.
|
|
40
|
-
*/
|
|
41
|
-
const adminGetObservabilityTrace = (options) => {
|
|
42
|
-
return (options.client ?? client).get({
|
|
43
|
-
security: [{
|
|
44
|
-
name: "x-api-key",
|
|
45
|
-
type: "apiKey"
|
|
46
|
-
}, {
|
|
47
|
-
scheme: "bearer",
|
|
48
|
-
type: "http"
|
|
49
|
-
}],
|
|
50
|
-
url: "/v1/admin/observability/runs/{runId}/trace",
|
|
51
|
-
...options
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Get the full cross-platform trace for any anchor (admin)
|
|
56
|
-
* One stitched waterfall across MCP → API → job, entered from any id (an API request id, an MCP tool-call id, or a job/run id). The same view backs a run's, a request's, and an MCP call's Traces tab. 404 when the id matches nothing.
|
|
57
|
-
*/
|
|
58
|
-
const adminGetUnifiedTrace = (options) => {
|
|
59
|
-
return (options.client ?? client).get({
|
|
60
|
-
security: [{
|
|
61
|
-
name: "x-api-key",
|
|
62
|
-
type: "apiKey"
|
|
63
|
-
}, {
|
|
64
|
-
scheme: "bearer",
|
|
65
|
-
type: "http"
|
|
66
|
-
}],
|
|
67
|
-
url: "/v1/admin/observability/trace/{anchorId}",
|
|
68
|
-
...options
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* List recent API requests (admin)
|
|
73
|
-
* Recent per-request telemetry, newest first. Filter by route, method, status, actor kind, and time window.
|
|
74
|
-
*/
|
|
75
|
-
const adminListApiRequests = (options) => {
|
|
76
|
-
return (options?.client ?? client).get({
|
|
77
|
-
security: [{
|
|
78
|
-
name: "x-api-key",
|
|
79
|
-
type: "apiKey"
|
|
80
|
-
}, {
|
|
81
|
-
scheme: "bearer",
|
|
82
|
-
type: "http"
|
|
83
|
-
}],
|
|
84
|
-
url: "/v1/admin/observability/requests",
|
|
85
|
-
...options
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* API request trends and performance (admin)
|
|
90
|
-
* Volume, error rate, and latency percentiles over a time window — overall, per route, and bucketed over time.
|
|
91
|
-
*/
|
|
92
|
-
const adminGetApiRequestStats = (options) => {
|
|
93
|
-
return (options?.client ?? client).get({
|
|
94
|
-
security: [{
|
|
95
|
-
name: "x-api-key",
|
|
96
|
-
type: "apiKey"
|
|
97
|
-
}, {
|
|
98
|
-
scheme: "bearer",
|
|
99
|
-
type: "http"
|
|
100
|
-
}],
|
|
101
|
-
url: "/v1/admin/observability/requests/stats",
|
|
102
|
-
...options
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Get one API request (admin)
|
|
107
|
-
* One request's full row, enriched with the MCP tool call that produced it when the request was MCP-originated.
|
|
108
|
-
*/
|
|
109
|
-
const adminGetApiRequest = (options) => {
|
|
110
|
-
return (options.client ?? client).get({
|
|
111
|
-
security: [{
|
|
112
|
-
name: "x-api-key",
|
|
113
|
-
type: "apiKey"
|
|
114
|
-
}, {
|
|
115
|
-
scheme: "bearer",
|
|
116
|
-
type: "http"
|
|
117
|
-
}],
|
|
118
|
-
url: "/v1/admin/observability/requests/{requestId}",
|
|
119
|
-
...options
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* Get the span waterfall for one request (admin)
|
|
124
|
-
* Spans a request emitted (e.g. a search: filters → build query → fetch → shape). 404 when the request emitted no spans.
|
|
125
|
-
*/
|
|
126
|
-
const adminGetApiRequestTrace = (options) => {
|
|
127
|
-
return (options.client ?? client).get({
|
|
128
|
-
security: [{
|
|
129
|
-
name: "x-api-key",
|
|
130
|
-
type: "apiKey"
|
|
131
|
-
}, {
|
|
132
|
-
scheme: "bearer",
|
|
133
|
-
type: "http"
|
|
134
|
-
}],
|
|
135
|
-
url: "/v1/admin/observability/requests/{requestId}/trace",
|
|
136
|
-
...options
|
|
137
|
-
});
|
|
138
|
-
};
|
|
139
|
-
/**
|
|
140
|
-
* MCP tool usage and performance (admin)
|
|
141
|
-
* Per-tool call counts, error rate, latency percentiles, and last-used time over a time window.
|
|
142
|
-
*/
|
|
143
|
-
const adminGetMcpToolStats = (options) => {
|
|
144
|
-
return (options?.client ?? client).get({
|
|
145
|
-
security: [{
|
|
146
|
-
name: "x-api-key",
|
|
147
|
-
type: "apiKey"
|
|
148
|
-
}, {
|
|
149
|
-
scheme: "bearer",
|
|
150
|
-
type: "http"
|
|
151
|
-
}],
|
|
152
|
-
url: "/v1/admin/observability/mcp/tools",
|
|
153
|
-
...options
|
|
154
|
-
});
|
|
155
|
-
};
|
|
156
|
-
/**
|
|
157
|
-
* List recent individual MCP tool calls (admin)
|
|
158
|
-
* Recent per-call MCP telemetry, newest first — the clickable feed behind the per-tool aggregates. Filter by tool, status, and time window.
|
|
159
|
-
*/
|
|
160
|
-
const adminListMcpCalls = (options) => {
|
|
161
|
-
return (options?.client ?? client).get({
|
|
162
|
-
security: [{
|
|
163
|
-
name: "x-api-key",
|
|
164
|
-
type: "apiKey"
|
|
165
|
-
}, {
|
|
166
|
-
scheme: "bearer",
|
|
167
|
-
type: "http"
|
|
168
|
-
}],
|
|
169
|
-
url: "/v1/admin/observability/mcp/calls",
|
|
170
|
-
...options
|
|
171
|
-
});
|
|
172
|
-
};
|
|
173
|
-
/**
|
|
174
|
-
* Alert decision counts by type and outcome (admin)
|
|
175
|
-
* Decision counts grouped by alert type and outcome (written / deduped / dry_run_match), over a window or scoped to one run via correlationId.
|
|
176
|
-
*/
|
|
177
|
-
const adminGetAlertDecisionStats = (options) => {
|
|
178
|
-
return (options?.client ?? client).get({
|
|
179
|
-
security: [{
|
|
180
|
-
name: "x-api-key",
|
|
181
|
-
type: "apiKey"
|
|
182
|
-
}, {
|
|
183
|
-
scheme: "bearer",
|
|
184
|
-
type: "http"
|
|
185
|
-
}],
|
|
186
|
-
url: "/v1/admin/observability/alerts/stats",
|
|
187
|
-
...options
|
|
188
|
-
});
|
|
189
|
-
};
|
|
190
|
-
/**
|
|
191
|
-
* List every evaluated alert decision (admin)
|
|
192
|
-
* The global alert feed across all users, newest first. Each row's outcome traces to its run via correlationId: a fire (written), a suppressed dupe (deduped), a dry-run preview (dry_run_match), or a configured user who got nothing — no_match (watched items scanned, none matched) / no_subjects (enabled but nothing to scan). Filter by type, outcome, user, workspace, run, or window.
|
|
193
|
-
*/
|
|
194
|
-
const adminListAlertDecisions = (options) => {
|
|
195
|
-
return (options?.client ?? client).get({
|
|
196
|
-
security: [{
|
|
197
|
-
name: "x-api-key",
|
|
198
|
-
type: "apiKey"
|
|
199
|
-
}, {
|
|
200
|
-
scheme: "bearer",
|
|
201
|
-
type: "http"
|
|
202
|
-
}],
|
|
203
|
-
url: "/v1/admin/observability/alerts",
|
|
204
|
-
...options
|
|
205
|
-
});
|
|
206
|
-
};
|
|
207
|
-
/**
|
|
208
21
|
* Search agents with filters
|
|
209
22
|
* 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.)
|
|
210
23
|
*/
|
|
@@ -226,7 +39,7 @@ const listAgents = (options) => {
|
|
|
226
39
|
});
|
|
227
40
|
};
|
|
228
41
|
/**
|
|
229
|
-
* Get agent by ID
|
|
42
|
+
* Get agent by ID
|
|
230
43
|
*/
|
|
231
44
|
const getAgent = (options) => {
|
|
232
45
|
return (options.client ?? client).get({
|
|
@@ -679,6 +492,58 @@ const removeWatchedArea = (options) => {
|
|
|
679
492
|
});
|
|
680
493
|
};
|
|
681
494
|
/**
|
|
495
|
+
* List the documents you watch
|
|
496
|
+
*/
|
|
497
|
+
const listWatchedDocuments = (options) => {
|
|
498
|
+
return (options?.client ?? client).get({
|
|
499
|
+
security: [{
|
|
500
|
+
name: "x-api-key",
|
|
501
|
+
type: "apiKey"
|
|
502
|
+
}, {
|
|
503
|
+
scheme: "bearer",
|
|
504
|
+
type: "http"
|
|
505
|
+
}],
|
|
506
|
+
url: "/v1/alerts/watched-documents",
|
|
507
|
+
...options
|
|
508
|
+
});
|
|
509
|
+
};
|
|
510
|
+
/**
|
|
511
|
+
* Watch a document
|
|
512
|
+
*/
|
|
513
|
+
const addWatchedDocument = (options) => {
|
|
514
|
+
return (options?.client ?? client).post({
|
|
515
|
+
security: [{
|
|
516
|
+
name: "x-api-key",
|
|
517
|
+
type: "apiKey"
|
|
518
|
+
}, {
|
|
519
|
+
scheme: "bearer",
|
|
520
|
+
type: "http"
|
|
521
|
+
}],
|
|
522
|
+
url: "/v1/alerts/watched-documents",
|
|
523
|
+
...options,
|
|
524
|
+
headers: {
|
|
525
|
+
"Content-Type": "application/json",
|
|
526
|
+
...options?.headers
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
};
|
|
530
|
+
/**
|
|
531
|
+
* Stop watching a document
|
|
532
|
+
*/
|
|
533
|
+
const removeWatchedDocument = (options) => {
|
|
534
|
+
return (options.client ?? client).delete({
|
|
535
|
+
security: [{
|
|
536
|
+
name: "x-api-key",
|
|
537
|
+
type: "apiKey"
|
|
538
|
+
}, {
|
|
539
|
+
scheme: "bearer",
|
|
540
|
+
type: "http"
|
|
541
|
+
}],
|
|
542
|
+
url: "/v1/alerts/watched-documents/{documentType}/{documentId}",
|
|
543
|
+
...options
|
|
544
|
+
});
|
|
545
|
+
};
|
|
546
|
+
/**
|
|
682
547
|
* List your alerts (newest first)
|
|
683
548
|
*/
|
|
684
549
|
const listAlertLog = (options) => {
|
|
@@ -722,15 +587,1721 @@ const markAlertRead = (options) => {
|
|
|
722
587
|
scheme: "bearer",
|
|
723
588
|
type: "http"
|
|
724
589
|
}],
|
|
725
|
-
url: "/v1/alerts/log/{id}/read",
|
|
590
|
+
url: "/v1/alerts/log/{id}/read",
|
|
591
|
+
...options
|
|
592
|
+
});
|
|
593
|
+
};
|
|
594
|
+
/**
|
|
595
|
+
* Get your unread alert count
|
|
596
|
+
*/
|
|
597
|
+
const getAlertUnreadCount = (options) => {
|
|
598
|
+
return (options?.client ?? client).get({
|
|
599
|
+
security: [{
|
|
600
|
+
name: "x-api-key",
|
|
601
|
+
type: "apiKey"
|
|
602
|
+
}, {
|
|
603
|
+
scheme: "bearer",
|
|
604
|
+
type: "http"
|
|
605
|
+
}],
|
|
606
|
+
url: "/v1/alerts/unread-count",
|
|
607
|
+
...options
|
|
608
|
+
});
|
|
609
|
+
};
|
|
610
|
+
/**
|
|
611
|
+
* List your alert digests (newest first)
|
|
612
|
+
*/
|
|
613
|
+
const listAlertDigests = (options) => {
|
|
614
|
+
return (options?.client ?? client).get({
|
|
615
|
+
security: [{
|
|
616
|
+
name: "x-api-key",
|
|
617
|
+
type: "apiKey"
|
|
618
|
+
}, {
|
|
619
|
+
scheme: "bearer",
|
|
620
|
+
type: "http"
|
|
621
|
+
}],
|
|
622
|
+
url: "/v1/alerts/digests",
|
|
623
|
+
...options
|
|
624
|
+
});
|
|
625
|
+
};
|
|
626
|
+
/**
|
|
627
|
+
* Mark one digest read
|
|
628
|
+
*/
|
|
629
|
+
const markAlertDigestRead = (options) => {
|
|
630
|
+
return (options.client ?? client).post({
|
|
631
|
+
security: [{
|
|
632
|
+
name: "x-api-key",
|
|
633
|
+
type: "apiKey"
|
|
634
|
+
}, {
|
|
635
|
+
scheme: "bearer",
|
|
636
|
+
type: "http"
|
|
637
|
+
}],
|
|
638
|
+
url: "/v1/alerts/digests/{id}/read",
|
|
639
|
+
...options
|
|
640
|
+
});
|
|
641
|
+
};
|
|
642
|
+
/**
|
|
643
|
+
* Preview the alerts that would fire for you
|
|
644
|
+
* 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.
|
|
645
|
+
*/
|
|
646
|
+
const previewAlerts = (options) => {
|
|
647
|
+
return (options?.client ?? client).post({
|
|
648
|
+
security: [{
|
|
649
|
+
name: "x-api-key",
|
|
650
|
+
type: "apiKey"
|
|
651
|
+
}, {
|
|
652
|
+
scheme: "bearer",
|
|
653
|
+
type: "http"
|
|
654
|
+
}],
|
|
655
|
+
url: "/v1/alerts/preview",
|
|
656
|
+
...options,
|
|
657
|
+
headers: {
|
|
658
|
+
"Content-Type": "application/json",
|
|
659
|
+
...options?.headers
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
};
|
|
663
|
+
/**
|
|
664
|
+
* Search branches with filters
|
|
665
|
+
* 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.
|
|
666
|
+
*/
|
|
667
|
+
const listBranches = (options) => {
|
|
668
|
+
return (options?.client ?? client).post({
|
|
669
|
+
security: [{
|
|
670
|
+
name: "x-api-key",
|
|
671
|
+
type: "apiKey"
|
|
672
|
+
}, {
|
|
673
|
+
scheme: "bearer",
|
|
674
|
+
type: "http"
|
|
675
|
+
}],
|
|
676
|
+
url: "/v1/branches",
|
|
677
|
+
...options,
|
|
678
|
+
headers: {
|
|
679
|
+
"Content-Type": "application/json",
|
|
680
|
+
...options?.headers
|
|
681
|
+
}
|
|
682
|
+
});
|
|
683
|
+
};
|
|
684
|
+
/**
|
|
685
|
+
* Get branch by NMLS ID
|
|
686
|
+
* 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.
|
|
687
|
+
*/
|
|
688
|
+
const getBranch = (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: "/v1/branches/{nmlsId}",
|
|
698
|
+
...options
|
|
699
|
+
});
|
|
700
|
+
};
|
|
701
|
+
/**
|
|
702
|
+
* Submit a bulk-delivery job for branches
|
|
703
|
+
* 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.
|
|
704
|
+
*/
|
|
705
|
+
const submitBranchesBulkDelivery = (options) => {
|
|
706
|
+
return (options?.client ?? client).post({
|
|
707
|
+
security: [{
|
|
708
|
+
name: "x-api-key",
|
|
709
|
+
type: "apiKey"
|
|
710
|
+
}, {
|
|
711
|
+
scheme: "bearer",
|
|
712
|
+
type: "http"
|
|
713
|
+
}],
|
|
714
|
+
url: "/v1/branches/bulk-delivery",
|
|
715
|
+
...options,
|
|
716
|
+
headers: {
|
|
717
|
+
"Content-Type": "application/json",
|
|
718
|
+
...options?.headers
|
|
719
|
+
}
|
|
720
|
+
});
|
|
721
|
+
};
|
|
722
|
+
/**
|
|
723
|
+
* Get bulk-delivery job status for branches
|
|
724
|
+
*/
|
|
725
|
+
const getBranchesBulkDeliveryJob = (options) => {
|
|
726
|
+
return (options.client ?? client).get({
|
|
727
|
+
security: [{
|
|
728
|
+
name: "x-api-key",
|
|
729
|
+
type: "apiKey"
|
|
730
|
+
}, {
|
|
731
|
+
scheme: "bearer",
|
|
732
|
+
type: "http"
|
|
733
|
+
}],
|
|
734
|
+
url: "/v1/branches/bulk-delivery/{jobId}",
|
|
735
|
+
...options
|
|
736
|
+
});
|
|
737
|
+
};
|
|
738
|
+
/**
|
|
739
|
+
* Search companies with filters
|
|
740
|
+
* 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.)
|
|
741
|
+
*/
|
|
742
|
+
const listCompanies = (options) => {
|
|
743
|
+
return (options?.client ?? client).post({
|
|
744
|
+
security: [{
|
|
745
|
+
name: "x-api-key",
|
|
746
|
+
type: "apiKey"
|
|
747
|
+
}, {
|
|
748
|
+
scheme: "bearer",
|
|
749
|
+
type: "http"
|
|
750
|
+
}],
|
|
751
|
+
url: "/v1/companies",
|
|
752
|
+
...options,
|
|
753
|
+
headers: {
|
|
754
|
+
"Content-Type": "application/json",
|
|
755
|
+
...options?.headers
|
|
756
|
+
}
|
|
757
|
+
});
|
|
758
|
+
};
|
|
759
|
+
/**
|
|
760
|
+
* Get company by NMLS ID
|
|
761
|
+
*/
|
|
762
|
+
const getCompany = (options) => {
|
|
763
|
+
return (options.client ?? client).get({
|
|
764
|
+
security: [{
|
|
765
|
+
name: "x-api-key",
|
|
766
|
+
type: "apiKey"
|
|
767
|
+
}, {
|
|
768
|
+
scheme: "bearer",
|
|
769
|
+
type: "http"
|
|
770
|
+
}],
|
|
771
|
+
url: "/v1/companies/{nmlsId}",
|
|
772
|
+
...options
|
|
773
|
+
});
|
|
774
|
+
};
|
|
775
|
+
/**
|
|
776
|
+
* Production summary with previous-period comparison
|
|
777
|
+
*/
|
|
778
|
+
const companyAnalyticsSummary = (options) => {
|
|
779
|
+
return (options?.client ?? client).post({
|
|
780
|
+
security: [{
|
|
781
|
+
name: "x-api-key",
|
|
782
|
+
type: "apiKey"
|
|
783
|
+
}, {
|
|
784
|
+
scheme: "bearer",
|
|
785
|
+
type: "http"
|
|
786
|
+
}],
|
|
787
|
+
url: "/v1/companies/analytics/summary",
|
|
788
|
+
...options,
|
|
789
|
+
headers: {
|
|
790
|
+
"Content-Type": "application/json",
|
|
791
|
+
...options?.headers
|
|
792
|
+
}
|
|
793
|
+
});
|
|
794
|
+
};
|
|
795
|
+
/**
|
|
796
|
+
* Company volume / units over time
|
|
797
|
+
*/
|
|
798
|
+
const companyAnalyticsTimeSeries = (options) => {
|
|
799
|
+
return (options?.client ?? client).post({
|
|
800
|
+
security: [{
|
|
801
|
+
name: "x-api-key",
|
|
802
|
+
type: "apiKey"
|
|
803
|
+
}, {
|
|
804
|
+
scheme: "bearer",
|
|
805
|
+
type: "http"
|
|
806
|
+
}],
|
|
807
|
+
url: "/v1/companies/analytics/time-series",
|
|
808
|
+
...options,
|
|
809
|
+
headers: {
|
|
810
|
+
"Content-Type": "application/json",
|
|
811
|
+
...options?.headers
|
|
812
|
+
}
|
|
813
|
+
});
|
|
814
|
+
};
|
|
815
|
+
/**
|
|
816
|
+
* Configurable chart (measure × slice) over company's loans
|
|
817
|
+
*/
|
|
818
|
+
const companyAnalyticsChart = (options) => {
|
|
819
|
+
return (options?.client ?? client).post({
|
|
820
|
+
security: [{
|
|
821
|
+
name: "x-api-key",
|
|
822
|
+
type: "apiKey"
|
|
823
|
+
}, {
|
|
824
|
+
scheme: "bearer",
|
|
825
|
+
type: "http"
|
|
826
|
+
}],
|
|
827
|
+
url: "/v1/companies/analytics/chart",
|
|
828
|
+
...options,
|
|
829
|
+
headers: {
|
|
830
|
+
"Content-Type": "application/json",
|
|
831
|
+
...options?.headers
|
|
832
|
+
}
|
|
833
|
+
});
|
|
834
|
+
};
|
|
835
|
+
/**
|
|
836
|
+
* Loan originators sponsored by this company
|
|
837
|
+
*/
|
|
838
|
+
const companySponsoredIndividuals = (options) => {
|
|
839
|
+
return (options.client ?? client).post({
|
|
840
|
+
security: [{
|
|
841
|
+
name: "x-api-key",
|
|
842
|
+
type: "apiKey"
|
|
843
|
+
}, {
|
|
844
|
+
scheme: "bearer",
|
|
845
|
+
type: "http"
|
|
846
|
+
}],
|
|
847
|
+
url: "/v1/companies/{nmlsId}/sponsored-individuals",
|
|
848
|
+
...options,
|
|
849
|
+
headers: {
|
|
850
|
+
"Content-Type": "application/json",
|
|
851
|
+
...options?.headers
|
|
852
|
+
}
|
|
853
|
+
});
|
|
854
|
+
};
|
|
855
|
+
/**
|
|
856
|
+
* Branch locations for this company
|
|
857
|
+
*/
|
|
858
|
+
const companyBranches = (options) => {
|
|
859
|
+
return (options.client ?? client).post({
|
|
860
|
+
security: [{
|
|
861
|
+
name: "x-api-key",
|
|
862
|
+
type: "apiKey"
|
|
863
|
+
}, {
|
|
864
|
+
scheme: "bearer",
|
|
865
|
+
type: "http"
|
|
866
|
+
}],
|
|
867
|
+
url: "/v1/companies/{nmlsId}/branches",
|
|
868
|
+
...options,
|
|
869
|
+
headers: {
|
|
870
|
+
"Content-Type": "application/json",
|
|
871
|
+
...options?.headers
|
|
872
|
+
}
|
|
873
|
+
});
|
|
874
|
+
};
|
|
875
|
+
/**
|
|
876
|
+
* Loan officers who originated through this company
|
|
877
|
+
*/
|
|
878
|
+
const companyOriginators = (options) => {
|
|
879
|
+
return (options.client ?? client).post({
|
|
880
|
+
security: [{
|
|
881
|
+
name: "x-api-key",
|
|
882
|
+
type: "apiKey"
|
|
883
|
+
}, {
|
|
884
|
+
scheme: "bearer",
|
|
885
|
+
type: "http"
|
|
886
|
+
}],
|
|
887
|
+
url: "/v1/companies/{nmlsId}/breakdowns/originators",
|
|
888
|
+
...options,
|
|
889
|
+
headers: {
|
|
890
|
+
"Content-Type": "application/json",
|
|
891
|
+
...options?.headers
|
|
892
|
+
}
|
|
893
|
+
});
|
|
894
|
+
};
|
|
895
|
+
/**
|
|
896
|
+
* Lenders this company originated through
|
|
897
|
+
*/
|
|
898
|
+
const companyLenders = (options) => {
|
|
899
|
+
return (options.client ?? client).post({
|
|
900
|
+
security: [{
|
|
901
|
+
name: "x-api-key",
|
|
902
|
+
type: "apiKey"
|
|
903
|
+
}, {
|
|
904
|
+
scheme: "bearer",
|
|
905
|
+
type: "http"
|
|
906
|
+
}],
|
|
907
|
+
url: "/v1/companies/{nmlsId}/breakdowns/lenders",
|
|
908
|
+
...options,
|
|
909
|
+
headers: {
|
|
910
|
+
"Content-Type": "application/json",
|
|
911
|
+
...options?.headers
|
|
912
|
+
}
|
|
913
|
+
});
|
|
914
|
+
};
|
|
915
|
+
/**
|
|
916
|
+
* Broker shops that originated loans funding through this company. For a wholesale/TPO lender this is its top broker partners.
|
|
917
|
+
*/
|
|
918
|
+
const companyBrokers = (options) => {
|
|
919
|
+
return (options.client ?? client).post({
|
|
920
|
+
security: [{
|
|
921
|
+
name: "x-api-key",
|
|
922
|
+
type: "apiKey"
|
|
923
|
+
}, {
|
|
924
|
+
scheme: "bearer",
|
|
925
|
+
type: "http"
|
|
926
|
+
}],
|
|
927
|
+
url: "/v1/companies/{nmlsId}/breakdowns/brokers",
|
|
928
|
+
...options,
|
|
929
|
+
headers: {
|
|
930
|
+
"Content-Type": "application/json",
|
|
931
|
+
...options?.headers
|
|
932
|
+
}
|
|
933
|
+
});
|
|
934
|
+
};
|
|
935
|
+
/**
|
|
936
|
+
* Broker offices this company originated through
|
|
937
|
+
*/
|
|
938
|
+
const companyOffices = (options) => {
|
|
939
|
+
return (options.client ?? client).post({
|
|
940
|
+
security: [{
|
|
941
|
+
name: "x-api-key",
|
|
942
|
+
type: "apiKey"
|
|
943
|
+
}, {
|
|
944
|
+
scheme: "bearer",
|
|
945
|
+
type: "http"
|
|
946
|
+
}],
|
|
947
|
+
url: "/v1/companies/{nmlsId}/breakdowns/offices",
|
|
948
|
+
...options,
|
|
949
|
+
headers: {
|
|
950
|
+
"Content-Type": "application/json",
|
|
951
|
+
...options?.headers
|
|
952
|
+
}
|
|
953
|
+
});
|
|
954
|
+
};
|
|
955
|
+
/**
|
|
956
|
+
* City volume breakdown across this company's loans
|
|
957
|
+
*/
|
|
958
|
+
const companyCities = (options) => {
|
|
959
|
+
return (options.client ?? client).post({
|
|
960
|
+
security: [{
|
|
961
|
+
name: "x-api-key",
|
|
962
|
+
type: "apiKey"
|
|
963
|
+
}, {
|
|
964
|
+
scheme: "bearer",
|
|
965
|
+
type: "http"
|
|
966
|
+
}],
|
|
967
|
+
url: "/v1/companies/{nmlsId}/breakdowns/cities",
|
|
968
|
+
...options,
|
|
969
|
+
headers: {
|
|
970
|
+
"Content-Type": "application/json",
|
|
971
|
+
...options?.headers
|
|
972
|
+
}
|
|
973
|
+
});
|
|
974
|
+
};
|
|
975
|
+
/**
|
|
976
|
+
* State volume breakdown across this company's loans
|
|
977
|
+
*/
|
|
978
|
+
const companyStates = (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/companies/{nmlsId}/breakdowns/states",
|
|
988
|
+
...options,
|
|
989
|
+
headers: {
|
|
990
|
+
"Content-Type": "application/json",
|
|
991
|
+
...options?.headers
|
|
992
|
+
}
|
|
993
|
+
});
|
|
994
|
+
};
|
|
995
|
+
/**
|
|
996
|
+
* County (FIPS) volume breakdown across this company's loans
|
|
997
|
+
*/
|
|
998
|
+
const companyCounties = (options) => {
|
|
999
|
+
return (options.client ?? client).post({
|
|
1000
|
+
security: [{
|
|
1001
|
+
name: "x-api-key",
|
|
1002
|
+
type: "apiKey"
|
|
1003
|
+
}, {
|
|
1004
|
+
scheme: "bearer",
|
|
1005
|
+
type: "http"
|
|
1006
|
+
}],
|
|
1007
|
+
url: "/v1/companies/{nmlsId}/breakdowns/counties",
|
|
1008
|
+
...options,
|
|
1009
|
+
headers: {
|
|
1010
|
+
"Content-Type": "application/json",
|
|
1011
|
+
...options?.headers
|
|
1012
|
+
}
|
|
1013
|
+
});
|
|
1014
|
+
};
|
|
1015
|
+
/**
|
|
1016
|
+
* Analyze LO arrivals and departures for a company
|
|
1017
|
+
*/
|
|
1018
|
+
const companySponsorshipMovement = (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/companies/{nmlsId}/sponsorship-movement",
|
|
1028
|
+
...options,
|
|
1029
|
+
headers: {
|
|
1030
|
+
"Content-Type": "application/json",
|
|
1031
|
+
...options?.headers
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
1034
|
+
};
|
|
1035
|
+
/**
|
|
1036
|
+
* Submit a bulk-delivery job for companies
|
|
1037
|
+
* 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.
|
|
1038
|
+
*/
|
|
1039
|
+
const submitCompaniesBulkDelivery = (options) => {
|
|
1040
|
+
return (options?.client ?? client).post({
|
|
1041
|
+
security: [{
|
|
1042
|
+
name: "x-api-key",
|
|
1043
|
+
type: "apiKey"
|
|
1044
|
+
}, {
|
|
1045
|
+
scheme: "bearer",
|
|
1046
|
+
type: "http"
|
|
1047
|
+
}],
|
|
1048
|
+
url: "/v1/companies/bulk-delivery",
|
|
1049
|
+
...options,
|
|
1050
|
+
headers: {
|
|
1051
|
+
"Content-Type": "application/json",
|
|
1052
|
+
...options?.headers
|
|
1053
|
+
}
|
|
1054
|
+
});
|
|
1055
|
+
};
|
|
1056
|
+
/**
|
|
1057
|
+
* Get bulk-delivery job status for companies
|
|
1058
|
+
*/
|
|
1059
|
+
const getCompaniesBulkDeliveryJob = (options) => {
|
|
1060
|
+
return (options.client ?? client).get({
|
|
1061
|
+
security: [{
|
|
1062
|
+
name: "x-api-key",
|
|
1063
|
+
type: "apiKey"
|
|
1064
|
+
}, {
|
|
1065
|
+
scheme: "bearer",
|
|
1066
|
+
type: "http"
|
|
1067
|
+
}],
|
|
1068
|
+
url: "/v1/companies/bulk-delivery/{jobId}",
|
|
1069
|
+
...options
|
|
1070
|
+
});
|
|
1071
|
+
};
|
|
1072
|
+
/**
|
|
1073
|
+
* Find an existing CRM record by NMLS id
|
|
1074
|
+
*/
|
|
1075
|
+
const findCrmRecordByNmls = (options) => {
|
|
1076
|
+
return (options.client ?? client).get({
|
|
1077
|
+
security: [{
|
|
1078
|
+
name: "x-api-key",
|
|
1079
|
+
type: "apiKey"
|
|
1080
|
+
}, {
|
|
1081
|
+
scheme: "bearer",
|
|
1082
|
+
type: "http"
|
|
1083
|
+
}],
|
|
1084
|
+
url: "/v1/crm/records/by-nmls",
|
|
1085
|
+
...options
|
|
1086
|
+
});
|
|
1087
|
+
};
|
|
1088
|
+
/**
|
|
1089
|
+
* Add a record to the CRM (and optionally a list)
|
|
1090
|
+
*/
|
|
1091
|
+
const addCrmRecord = (options) => {
|
|
1092
|
+
return (options?.client ?? client).post({
|
|
1093
|
+
security: [{
|
|
1094
|
+
name: "x-api-key",
|
|
1095
|
+
type: "apiKey"
|
|
1096
|
+
}, {
|
|
1097
|
+
scheme: "bearer",
|
|
1098
|
+
type: "http"
|
|
1099
|
+
}],
|
|
1100
|
+
url: "/v1/crm/records/add",
|
|
1101
|
+
...options,
|
|
1102
|
+
headers: {
|
|
1103
|
+
"Content-Type": "application/json",
|
|
1104
|
+
...options?.headers
|
|
1105
|
+
}
|
|
1106
|
+
});
|
|
1107
|
+
};
|
|
1108
|
+
/**
|
|
1109
|
+
* Remove one or more records from the CRM
|
|
1110
|
+
*/
|
|
1111
|
+
const deleteCrmRecords = (options) => {
|
|
1112
|
+
return (options?.client ?? client).post({
|
|
1113
|
+
security: [{
|
|
1114
|
+
name: "x-api-key",
|
|
1115
|
+
type: "apiKey"
|
|
1116
|
+
}, {
|
|
1117
|
+
scheme: "bearer",
|
|
1118
|
+
type: "http"
|
|
1119
|
+
}],
|
|
1120
|
+
url: "/v1/crm/records/delete",
|
|
1121
|
+
...options,
|
|
1122
|
+
headers: {
|
|
1123
|
+
"Content-Type": "application/json",
|
|
1124
|
+
...options?.headers
|
|
1125
|
+
}
|
|
1126
|
+
});
|
|
1127
|
+
};
|
|
1128
|
+
/**
|
|
1129
|
+
* Create a manual (unmatched) CRM record
|
|
1130
|
+
*/
|
|
1131
|
+
const createCrmManualRecord = (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/crm/records/create",
|
|
1141
|
+
...options,
|
|
1142
|
+
headers: {
|
|
1143
|
+
"Content-Type": "application/json",
|
|
1144
|
+
...options?.headers
|
|
1145
|
+
}
|
|
1146
|
+
});
|
|
1147
|
+
};
|
|
1148
|
+
/**
|
|
1149
|
+
* Remove a record from the workspace CRM
|
|
1150
|
+
*/
|
|
1151
|
+
const deleteCrmRecord = (options) => {
|
|
1152
|
+
return (options.client ?? client).delete({
|
|
1153
|
+
security: [{
|
|
1154
|
+
name: "x-api-key",
|
|
1155
|
+
type: "apiKey"
|
|
1156
|
+
}, {
|
|
1157
|
+
scheme: "bearer",
|
|
1158
|
+
type: "http"
|
|
1159
|
+
}],
|
|
1160
|
+
url: "/v1/crm/records",
|
|
1161
|
+
...options
|
|
1162
|
+
});
|
|
1163
|
+
};
|
|
1164
|
+
/**
|
|
1165
|
+
* (Re)assign a record's working owner
|
|
1166
|
+
*/
|
|
1167
|
+
const setCrmRecordOwner = (options) => {
|
|
1168
|
+
return (options?.client ?? client).patch({
|
|
1169
|
+
security: [{
|
|
1170
|
+
name: "x-api-key",
|
|
1171
|
+
type: "apiKey"
|
|
1172
|
+
}, {
|
|
1173
|
+
scheme: "bearer",
|
|
1174
|
+
type: "http"
|
|
1175
|
+
}],
|
|
1176
|
+
url: "/v1/crm/records",
|
|
1177
|
+
...options,
|
|
1178
|
+
headers: {
|
|
1179
|
+
"Content-Type": "application/json",
|
|
1180
|
+
...options?.headers
|
|
1181
|
+
}
|
|
1182
|
+
});
|
|
1183
|
+
};
|
|
1184
|
+
/**
|
|
1185
|
+
* Create (or refresh) a canonical record from a match
|
|
1186
|
+
*/
|
|
1187
|
+
const createCrmRecord = (options) => {
|
|
1188
|
+
return (options?.client ?? client).post({
|
|
1189
|
+
security: [{
|
|
1190
|
+
name: "x-api-key",
|
|
1191
|
+
type: "apiKey"
|
|
1192
|
+
}, {
|
|
1193
|
+
scheme: "bearer",
|
|
1194
|
+
type: "http"
|
|
1195
|
+
}],
|
|
1196
|
+
url: "/v1/crm/records",
|
|
1197
|
+
...options,
|
|
1198
|
+
headers: {
|
|
1199
|
+
"Content-Type": "application/json",
|
|
1200
|
+
...options?.headers
|
|
1201
|
+
}
|
|
1202
|
+
});
|
|
1203
|
+
};
|
|
1204
|
+
/**
|
|
1205
|
+
* Free-text search over CRM records
|
|
1206
|
+
*/
|
|
1207
|
+
const searchCrmRecords = (options) => {
|
|
1208
|
+
return (options?.client ?? client).post({
|
|
1209
|
+
security: [{
|
|
1210
|
+
name: "x-api-key",
|
|
1211
|
+
type: "apiKey"
|
|
1212
|
+
}, {
|
|
1213
|
+
scheme: "bearer",
|
|
1214
|
+
type: "http"
|
|
1215
|
+
}],
|
|
1216
|
+
url: "/v1/crm/records/search",
|
|
1217
|
+
...options,
|
|
1218
|
+
headers: {
|
|
1219
|
+
"Content-Type": "application/json",
|
|
1220
|
+
...options?.headers
|
|
1221
|
+
}
|
|
1222
|
+
});
|
|
1223
|
+
};
|
|
1224
|
+
/**
|
|
1225
|
+
* Bulk add records to the canonical CRM (listless)
|
|
1226
|
+
*/
|
|
1227
|
+
const addCrmRecordsBulk = (options) => {
|
|
1228
|
+
return (options?.client ?? client).post({
|
|
1229
|
+
security: [{
|
|
1230
|
+
name: "x-api-key",
|
|
1231
|
+
type: "apiKey"
|
|
1232
|
+
}, {
|
|
1233
|
+
scheme: "bearer",
|
|
1234
|
+
type: "http"
|
|
1235
|
+
}],
|
|
1236
|
+
url: "/v1/crm/records/add/bulk",
|
|
1237
|
+
...options,
|
|
1238
|
+
headers: {
|
|
1239
|
+
"Content-Type": "application/json",
|
|
1240
|
+
...options?.headers
|
|
1241
|
+
}
|
|
1242
|
+
});
|
|
1243
|
+
};
|
|
1244
|
+
/**
|
|
1245
|
+
* Get an add-time production-enrich job's status
|
|
1246
|
+
*/
|
|
1247
|
+
const getCrmProductionEnrichJob = (options) => {
|
|
1248
|
+
return (options.client ?? client).get({
|
|
1249
|
+
security: [{
|
|
1250
|
+
name: "x-api-key",
|
|
1251
|
+
type: "apiKey"
|
|
1252
|
+
}, {
|
|
1253
|
+
scheme: "bearer",
|
|
1254
|
+
type: "http"
|
|
1255
|
+
}],
|
|
1256
|
+
url: "/v1/crm/production-enrich/{jobId}",
|
|
1257
|
+
...options
|
|
1258
|
+
});
|
|
1259
|
+
};
|
|
1260
|
+
/**
|
|
1261
|
+
* Relationship cross-reference for a record (in-CRM partners + colleagues)
|
|
1262
|
+
*/
|
|
1263
|
+
const getCrmRecordConnections = (options) => {
|
|
1264
|
+
return (options?.client ?? client).post({
|
|
1265
|
+
security: [{
|
|
1266
|
+
name: "x-api-key",
|
|
1267
|
+
type: "apiKey"
|
|
1268
|
+
}, {
|
|
1269
|
+
scheme: "bearer",
|
|
1270
|
+
type: "http"
|
|
1271
|
+
}],
|
|
1272
|
+
url: "/v1/crm/records/connections",
|
|
1273
|
+
...options,
|
|
1274
|
+
headers: {
|
|
1275
|
+
"Content-Type": "application/json",
|
|
1276
|
+
...options?.headers
|
|
1277
|
+
}
|
|
1278
|
+
});
|
|
1279
|
+
};
|
|
1280
|
+
/**
|
|
1281
|
+
* Name-first search over visible CRM records for the mention picker
|
|
1282
|
+
*/
|
|
1283
|
+
const searchCrmMentionRecords = (options) => {
|
|
1284
|
+
return (options?.client ?? client).post({
|
|
1285
|
+
security: [{
|
|
1286
|
+
name: "x-api-key",
|
|
1287
|
+
type: "apiKey"
|
|
1288
|
+
}, {
|
|
1289
|
+
scheme: "bearer",
|
|
1290
|
+
type: "http"
|
|
1291
|
+
}],
|
|
1292
|
+
url: "/v1/crm/records/mention-search",
|
|
1293
|
+
...options,
|
|
1294
|
+
headers: {
|
|
1295
|
+
"Content-Type": "application/json",
|
|
1296
|
+
...options?.headers
|
|
1297
|
+
}
|
|
1298
|
+
});
|
|
1299
|
+
};
|
|
1300
|
+
/**
|
|
1301
|
+
* Aggregate profile read for a CRM record
|
|
1302
|
+
*/
|
|
1303
|
+
const getCrmRecordProfile = (options) => {
|
|
1304
|
+
return (options.client ?? client).get({
|
|
1305
|
+
security: [{
|
|
1306
|
+
name: "x-api-key",
|
|
1307
|
+
type: "apiKey"
|
|
1308
|
+
}, {
|
|
1309
|
+
scheme: "bearer",
|
|
1310
|
+
type: "http"
|
|
1311
|
+
}],
|
|
1312
|
+
url: "/v1/crm/profile",
|
|
1313
|
+
...options
|
|
1314
|
+
});
|
|
1315
|
+
};
|
|
1316
|
+
/**
|
|
1317
|
+
* List curated CRM records of an object type
|
|
1318
|
+
*/
|
|
1319
|
+
const listCrmMembers = (options) => {
|
|
1320
|
+
return (options.client ?? client).get({
|
|
1321
|
+
security: [{
|
|
1322
|
+
name: "x-api-key",
|
|
1323
|
+
type: "apiKey"
|
|
1324
|
+
}, {
|
|
1325
|
+
scheme: "bearer",
|
|
1326
|
+
type: "http"
|
|
1327
|
+
}],
|
|
1328
|
+
url: "/v1/crm/members",
|
|
1329
|
+
...options
|
|
1330
|
+
});
|
|
1331
|
+
};
|
|
1332
|
+
/**
|
|
1333
|
+
* Batch-read record overrides
|
|
1334
|
+
*/
|
|
1335
|
+
const getCrmOverrides = (options) => {
|
|
1336
|
+
return (options.client ?? client).get({
|
|
1337
|
+
security: [{
|
|
1338
|
+
name: "x-api-key",
|
|
1339
|
+
type: "apiKey"
|
|
1340
|
+
}, {
|
|
1341
|
+
scheme: "bearer",
|
|
1342
|
+
type: "http"
|
|
1343
|
+
}],
|
|
1344
|
+
url: "/v1/crm/overrides",
|
|
1345
|
+
...options
|
|
1346
|
+
});
|
|
1347
|
+
};
|
|
1348
|
+
/**
|
|
1349
|
+
* Set a single override field on a record
|
|
1350
|
+
*/
|
|
1351
|
+
const setCrmOverride = (options) => {
|
|
1352
|
+
return (options?.client ?? client).patch({
|
|
1353
|
+
security: [{
|
|
1354
|
+
name: "x-api-key",
|
|
1355
|
+
type: "apiKey"
|
|
1356
|
+
}, {
|
|
1357
|
+
scheme: "bearer",
|
|
1358
|
+
type: "http"
|
|
1359
|
+
}],
|
|
1360
|
+
url: "/v1/crm/overrides",
|
|
1361
|
+
...options,
|
|
1362
|
+
headers: {
|
|
1363
|
+
"Content-Type": "application/json",
|
|
1364
|
+
...options?.headers
|
|
1365
|
+
}
|
|
1366
|
+
});
|
|
1367
|
+
};
|
|
1368
|
+
/**
|
|
1369
|
+
* Auto-generate a record's description from the web
|
|
1370
|
+
*/
|
|
1371
|
+
const generateCrmRecordDescription = (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/crm/records/generate-description",
|
|
1381
|
+
...options,
|
|
1382
|
+
headers: {
|
|
1383
|
+
"Content-Type": "application/json",
|
|
1384
|
+
...options?.headers
|
|
1385
|
+
}
|
|
1386
|
+
});
|
|
1387
|
+
};
|
|
1388
|
+
/**
|
|
1389
|
+
* List the caller's lists (picker mode with ?entityId adds hasMember)
|
|
1390
|
+
*/
|
|
1391
|
+
const listCrmLists = (options) => {
|
|
1392
|
+
return (options?.client ?? client).get({
|
|
1393
|
+
security: [{
|
|
1394
|
+
name: "x-api-key",
|
|
1395
|
+
type: "apiKey"
|
|
1396
|
+
}, {
|
|
1397
|
+
scheme: "bearer",
|
|
1398
|
+
type: "http"
|
|
1399
|
+
}],
|
|
1400
|
+
url: "/v1/crm/lists",
|
|
1401
|
+
...options
|
|
1402
|
+
});
|
|
1403
|
+
};
|
|
1404
|
+
/**
|
|
1405
|
+
* Create a list
|
|
1406
|
+
*/
|
|
1407
|
+
const createCrmList = (options) => {
|
|
1408
|
+
return (options?.client ?? client).post({
|
|
1409
|
+
security: [{
|
|
1410
|
+
name: "x-api-key",
|
|
1411
|
+
type: "apiKey"
|
|
1412
|
+
}, {
|
|
1413
|
+
scheme: "bearer",
|
|
1414
|
+
type: "http"
|
|
1415
|
+
}],
|
|
1416
|
+
url: "/v1/crm/lists",
|
|
1417
|
+
...options,
|
|
1418
|
+
headers: {
|
|
1419
|
+
"Content-Type": "application/json",
|
|
1420
|
+
...options?.headers
|
|
1421
|
+
}
|
|
1422
|
+
});
|
|
1423
|
+
};
|
|
1424
|
+
/**
|
|
1425
|
+
* Delete a list
|
|
1426
|
+
*/
|
|
1427
|
+
const deleteCrmList = (options) => {
|
|
1428
|
+
return (options.client ?? client).delete({
|
|
1429
|
+
security: [{
|
|
1430
|
+
name: "x-api-key",
|
|
1431
|
+
type: "apiKey"
|
|
1432
|
+
}, {
|
|
1433
|
+
scheme: "bearer",
|
|
1434
|
+
type: "http"
|
|
1435
|
+
}],
|
|
1436
|
+
url: "/v1/crm/lists/{id}",
|
|
1437
|
+
...options
|
|
1438
|
+
});
|
|
1439
|
+
};
|
|
1440
|
+
/**
|
|
1441
|
+
* Get a list with its members
|
|
1442
|
+
*/
|
|
1443
|
+
const getCrmList = (options) => {
|
|
1444
|
+
return (options.client ?? client).get({
|
|
1445
|
+
security: [{
|
|
1446
|
+
name: "x-api-key",
|
|
1447
|
+
type: "apiKey"
|
|
1448
|
+
}, {
|
|
1449
|
+
scheme: "bearer",
|
|
1450
|
+
type: "http"
|
|
1451
|
+
}],
|
|
1452
|
+
url: "/v1/crm/lists/{id}",
|
|
1453
|
+
...options
|
|
1454
|
+
});
|
|
1455
|
+
};
|
|
1456
|
+
/**
|
|
1457
|
+
* Update a list's name, visibility, or whole-org role
|
|
1458
|
+
*/
|
|
1459
|
+
const updateCrmList = (options) => {
|
|
1460
|
+
return (options.client ?? client).patch({
|
|
1461
|
+
security: [{
|
|
1462
|
+
name: "x-api-key",
|
|
1463
|
+
type: "apiKey"
|
|
1464
|
+
}, {
|
|
1465
|
+
scheme: "bearer",
|
|
1466
|
+
type: "http"
|
|
1467
|
+
}],
|
|
1468
|
+
url: "/v1/crm/lists/{id}",
|
|
1469
|
+
...options,
|
|
1470
|
+
headers: {
|
|
1471
|
+
"Content-Type": "application/json",
|
|
1472
|
+
...options?.headers
|
|
1473
|
+
}
|
|
1474
|
+
});
|
|
1475
|
+
};
|
|
1476
|
+
/**
|
|
1477
|
+
* Remove a member from a list
|
|
1478
|
+
*/
|
|
1479
|
+
const removeCrmListMember = (options) => {
|
|
1480
|
+
return (options.client ?? client).delete({
|
|
1481
|
+
security: [{
|
|
1482
|
+
name: "x-api-key",
|
|
1483
|
+
type: "apiKey"
|
|
1484
|
+
}, {
|
|
1485
|
+
scheme: "bearer",
|
|
1486
|
+
type: "http"
|
|
1487
|
+
}],
|
|
1488
|
+
url: "/v1/crm/lists/{id}/members",
|
|
1489
|
+
...options,
|
|
1490
|
+
headers: {
|
|
1491
|
+
"Content-Type": "application/json",
|
|
1492
|
+
...options?.headers
|
|
1493
|
+
}
|
|
1494
|
+
});
|
|
1495
|
+
};
|
|
1496
|
+
/**
|
|
1497
|
+
* Add a member to a list
|
|
1498
|
+
*/
|
|
1499
|
+
const addCrmListMember = (options) => {
|
|
1500
|
+
return (options.client ?? client).post({
|
|
1501
|
+
security: [{
|
|
1502
|
+
name: "x-api-key",
|
|
1503
|
+
type: "apiKey"
|
|
1504
|
+
}, {
|
|
1505
|
+
scheme: "bearer",
|
|
1506
|
+
type: "http"
|
|
1507
|
+
}],
|
|
1508
|
+
url: "/v1/crm/lists/{id}/members",
|
|
1509
|
+
...options,
|
|
1510
|
+
headers: {
|
|
1511
|
+
"Content-Type": "application/json",
|
|
1512
|
+
...options?.headers
|
|
1513
|
+
}
|
|
1514
|
+
});
|
|
1515
|
+
};
|
|
1516
|
+
/**
|
|
1517
|
+
* Filter a list's members by entity attributes (read)
|
|
1518
|
+
*/
|
|
1519
|
+
const filterCrmListMembers = (options) => {
|
|
1520
|
+
return (options.client ?? client).post({
|
|
1521
|
+
security: [{
|
|
1522
|
+
name: "x-api-key",
|
|
1523
|
+
type: "apiKey"
|
|
1524
|
+
}, {
|
|
1525
|
+
scheme: "bearer",
|
|
1526
|
+
type: "http"
|
|
1527
|
+
}],
|
|
1528
|
+
url: "/v1/crm/lists/{id}/filter-members",
|
|
1529
|
+
...options,
|
|
1530
|
+
headers: {
|
|
1531
|
+
"Content-Type": "application/json",
|
|
1532
|
+
...options?.headers
|
|
1533
|
+
}
|
|
1534
|
+
});
|
|
1535
|
+
};
|
|
1536
|
+
/**
|
|
1537
|
+
* Add many members to a list
|
|
1538
|
+
*/
|
|
1539
|
+
const addCrmListMembersBulk = (options) => {
|
|
1540
|
+
return (options.client ?? client).post({
|
|
1541
|
+
security: [{
|
|
1542
|
+
name: "x-api-key",
|
|
1543
|
+
type: "apiKey"
|
|
1544
|
+
}, {
|
|
1545
|
+
scheme: "bearer",
|
|
1546
|
+
type: "http"
|
|
1547
|
+
}],
|
|
1548
|
+
url: "/v1/crm/lists/{id}/members/bulk",
|
|
1549
|
+
...options,
|
|
1550
|
+
headers: {
|
|
1551
|
+
"Content-Type": "application/json",
|
|
1552
|
+
...options?.headers
|
|
1553
|
+
}
|
|
1554
|
+
});
|
|
1555
|
+
};
|
|
1556
|
+
/**
|
|
1557
|
+
* Revoke a member's access to a list
|
|
1558
|
+
*/
|
|
1559
|
+
const revokeCrmListAccess = (options) => {
|
|
1560
|
+
return (options.client ?? client).delete({
|
|
1561
|
+
security: [{
|
|
1562
|
+
name: "x-api-key",
|
|
1563
|
+
type: "apiKey"
|
|
1564
|
+
}, {
|
|
1565
|
+
scheme: "bearer",
|
|
1566
|
+
type: "http"
|
|
1567
|
+
}],
|
|
1568
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1569
|
+
...options,
|
|
1570
|
+
headers: {
|
|
1571
|
+
"Content-Type": "application/json",
|
|
1572
|
+
...options?.headers
|
|
1573
|
+
}
|
|
1574
|
+
});
|
|
1575
|
+
};
|
|
1576
|
+
/**
|
|
1577
|
+
* Get a list's sharing state (+ owner display, canManageSharing)
|
|
1578
|
+
*/
|
|
1579
|
+
const getCrmListShares = (options) => {
|
|
1580
|
+
return (options.client ?? client).get({
|
|
1581
|
+
security: [{
|
|
1582
|
+
name: "x-api-key",
|
|
1583
|
+
type: "apiKey"
|
|
1584
|
+
}, {
|
|
1585
|
+
scheme: "bearer",
|
|
1586
|
+
type: "http"
|
|
1587
|
+
}],
|
|
1588
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1589
|
+
...options
|
|
1590
|
+
});
|
|
1591
|
+
};
|
|
1592
|
+
/**
|
|
1593
|
+
* Transfer a list's ownership to another member
|
|
1594
|
+
*/
|
|
1595
|
+
const transferCrmListOwnership = (options) => {
|
|
1596
|
+
return (options.client ?? client).patch({
|
|
1597
|
+
security: [{
|
|
1598
|
+
name: "x-api-key",
|
|
1599
|
+
type: "apiKey"
|
|
1600
|
+
}, {
|
|
1601
|
+
scheme: "bearer",
|
|
1602
|
+
type: "http"
|
|
1603
|
+
}],
|
|
1604
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1605
|
+
...options,
|
|
1606
|
+
headers: {
|
|
1607
|
+
"Content-Type": "application/json",
|
|
1608
|
+
...options?.headers
|
|
1609
|
+
}
|
|
1610
|
+
});
|
|
1611
|
+
};
|
|
1612
|
+
/**
|
|
1613
|
+
* Grant a member access to a list
|
|
1614
|
+
*/
|
|
1615
|
+
const grantCrmListAccess = (options) => {
|
|
1616
|
+
return (options.client ?? client).post({
|
|
1617
|
+
security: [{
|
|
1618
|
+
name: "x-api-key",
|
|
1619
|
+
type: "apiKey"
|
|
1620
|
+
}, {
|
|
1621
|
+
scheme: "bearer",
|
|
1622
|
+
type: "http"
|
|
1623
|
+
}],
|
|
1624
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1625
|
+
...options,
|
|
1626
|
+
headers: {
|
|
1627
|
+
"Content-Type": "application/json",
|
|
1628
|
+
...options?.headers
|
|
1629
|
+
}
|
|
1630
|
+
});
|
|
1631
|
+
};
|
|
1632
|
+
/**
|
|
1633
|
+
* Delete a custom field
|
|
1634
|
+
*/
|
|
1635
|
+
const deleteCrmListField = (options) => {
|
|
1636
|
+
return (options.client ?? client).delete({
|
|
1637
|
+
security: [{
|
|
1638
|
+
name: "x-api-key",
|
|
1639
|
+
type: "apiKey"
|
|
1640
|
+
}, {
|
|
1641
|
+
scheme: "bearer",
|
|
1642
|
+
type: "http"
|
|
1643
|
+
}],
|
|
1644
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1645
|
+
...options,
|
|
1646
|
+
headers: {
|
|
1647
|
+
"Content-Type": "application/json",
|
|
1648
|
+
...options?.headers
|
|
1649
|
+
}
|
|
1650
|
+
});
|
|
1651
|
+
};
|
|
1652
|
+
/**
|
|
1653
|
+
* List the custom fields applicable to a list
|
|
1654
|
+
*/
|
|
1655
|
+
const listCrmListFields = (options) => {
|
|
1656
|
+
return (options.client ?? client).get({
|
|
1657
|
+
security: [{
|
|
1658
|
+
name: "x-api-key",
|
|
1659
|
+
type: "apiKey"
|
|
1660
|
+
}, {
|
|
1661
|
+
scheme: "bearer",
|
|
1662
|
+
type: "http"
|
|
1663
|
+
}],
|
|
1664
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1665
|
+
...options
|
|
1666
|
+
});
|
|
1667
|
+
};
|
|
1668
|
+
/**
|
|
1669
|
+
* Update a custom field's mutable props
|
|
1670
|
+
*/
|
|
1671
|
+
const updateCrmListField = (options) => {
|
|
1672
|
+
return (options.client ?? client).patch({
|
|
1673
|
+
security: [{
|
|
1674
|
+
name: "x-api-key",
|
|
1675
|
+
type: "apiKey"
|
|
1676
|
+
}, {
|
|
1677
|
+
scheme: "bearer",
|
|
1678
|
+
type: "http"
|
|
1679
|
+
}],
|
|
1680
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1681
|
+
...options,
|
|
1682
|
+
headers: {
|
|
1683
|
+
"Content-Type": "application/json",
|
|
1684
|
+
...options?.headers
|
|
1685
|
+
}
|
|
1686
|
+
});
|
|
1687
|
+
};
|
|
1688
|
+
/**
|
|
1689
|
+
* Create a list-scoped custom field
|
|
1690
|
+
*/
|
|
1691
|
+
const createCrmListField = (options) => {
|
|
1692
|
+
return (options.client ?? client).post({
|
|
1693
|
+
security: [{
|
|
1694
|
+
name: "x-api-key",
|
|
1695
|
+
type: "apiKey"
|
|
1696
|
+
}, {
|
|
1697
|
+
scheme: "bearer",
|
|
1698
|
+
type: "http"
|
|
1699
|
+
}],
|
|
1700
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1701
|
+
...options,
|
|
1702
|
+
headers: {
|
|
1703
|
+
"Content-Type": "application/json",
|
|
1704
|
+
...options?.headers
|
|
1705
|
+
}
|
|
1706
|
+
});
|
|
1707
|
+
};
|
|
1708
|
+
/**
|
|
1709
|
+
* Replay a template's fields onto a list
|
|
1710
|
+
*/
|
|
1711
|
+
const applyCrmListTemplate = (options) => {
|
|
1712
|
+
return (options.client ?? client).post({
|
|
1713
|
+
security: [{
|
|
1714
|
+
name: "x-api-key",
|
|
1715
|
+
type: "apiKey"
|
|
1716
|
+
}, {
|
|
1717
|
+
scheme: "bearer",
|
|
1718
|
+
type: "http"
|
|
1719
|
+
}],
|
|
1720
|
+
url: "/v1/crm/lists/{id}/apply-template",
|
|
1721
|
+
...options,
|
|
1722
|
+
headers: {
|
|
1723
|
+
"Content-Type": "application/json",
|
|
1724
|
+
...options?.headers
|
|
1725
|
+
}
|
|
1726
|
+
});
|
|
1727
|
+
};
|
|
1728
|
+
/**
|
|
1729
|
+
* List the active org's members
|
|
1730
|
+
*/
|
|
1731
|
+
const listCrmOrgMembers = (options) => {
|
|
1732
|
+
return (options?.client ?? client).get({
|
|
1733
|
+
security: [{
|
|
1734
|
+
name: "x-api-key",
|
|
1735
|
+
type: "apiKey"
|
|
1736
|
+
}, {
|
|
1737
|
+
scheme: "bearer",
|
|
1738
|
+
type: "http"
|
|
1739
|
+
}],
|
|
1740
|
+
url: "/v1/crm/org-members",
|
|
1741
|
+
...options
|
|
1742
|
+
});
|
|
1743
|
+
};
|
|
1744
|
+
/**
|
|
1745
|
+
* List who can be assigned on a list (access-filtered by visibility)
|
|
1746
|
+
*/
|
|
1747
|
+
const listCrmListAssignees = (options) => {
|
|
1748
|
+
return (options.client ?? client).get({
|
|
1749
|
+
security: [{
|
|
1750
|
+
name: "x-api-key",
|
|
1751
|
+
type: "apiKey"
|
|
1752
|
+
}, {
|
|
1753
|
+
scheme: "bearer",
|
|
1754
|
+
type: "http"
|
|
1755
|
+
}],
|
|
1756
|
+
url: "/v1/crm/lists/{id}/assignees",
|
|
1757
|
+
...options
|
|
1758
|
+
});
|
|
1759
|
+
};
|
|
1760
|
+
/**
|
|
1761
|
+
* Soft-delete a note
|
|
1762
|
+
*/
|
|
1763
|
+
const deleteCrmNote = (options) => {
|
|
1764
|
+
return (options?.client ?? client).delete({
|
|
1765
|
+
security: [{
|
|
1766
|
+
name: "x-api-key",
|
|
1767
|
+
type: "apiKey"
|
|
1768
|
+
}, {
|
|
1769
|
+
scheme: "bearer",
|
|
1770
|
+
type: "http"
|
|
1771
|
+
}],
|
|
1772
|
+
url: "/v1/crm/activity",
|
|
1773
|
+
...options,
|
|
1774
|
+
headers: {
|
|
1775
|
+
"Content-Type": "application/json",
|
|
1776
|
+
...options?.headers
|
|
1777
|
+
}
|
|
1778
|
+
});
|
|
1779
|
+
};
|
|
1780
|
+
/**
|
|
1781
|
+
* List a record's activity timeline (newest first)
|
|
1782
|
+
*/
|
|
1783
|
+
const listCrmActivity = (options) => {
|
|
1784
|
+
return (options.client ?? client).get({
|
|
1785
|
+
security: [{
|
|
1786
|
+
name: "x-api-key",
|
|
1787
|
+
type: "apiKey"
|
|
1788
|
+
}, {
|
|
1789
|
+
scheme: "bearer",
|
|
1790
|
+
type: "http"
|
|
1791
|
+
}],
|
|
1792
|
+
url: "/v1/crm/activity",
|
|
1793
|
+
...options
|
|
1794
|
+
});
|
|
1795
|
+
};
|
|
1796
|
+
/**
|
|
1797
|
+
* Edit a note's body
|
|
1798
|
+
*/
|
|
1799
|
+
const editCrmNote = (options) => {
|
|
1800
|
+
return (options?.client ?? client).patch({
|
|
1801
|
+
security: [{
|
|
1802
|
+
name: "x-api-key",
|
|
1803
|
+
type: "apiKey"
|
|
1804
|
+
}, {
|
|
1805
|
+
scheme: "bearer",
|
|
1806
|
+
type: "http"
|
|
1807
|
+
}],
|
|
1808
|
+
url: "/v1/crm/activity",
|
|
1809
|
+
...options,
|
|
1810
|
+
headers: {
|
|
1811
|
+
"Content-Type": "application/json",
|
|
1812
|
+
...options?.headers
|
|
1813
|
+
}
|
|
1814
|
+
});
|
|
1815
|
+
};
|
|
1816
|
+
/**
|
|
1817
|
+
* Append a note to a record's timeline
|
|
1818
|
+
*/
|
|
1819
|
+
const addCrmNote = (options) => {
|
|
1820
|
+
return (options?.client ?? client).post({
|
|
1821
|
+
security: [{
|
|
1822
|
+
name: "x-api-key",
|
|
1823
|
+
type: "apiKey"
|
|
1824
|
+
}, {
|
|
1825
|
+
scheme: "bearer",
|
|
1826
|
+
type: "http"
|
|
1827
|
+
}],
|
|
1828
|
+
url: "/v1/crm/activity",
|
|
1829
|
+
...options,
|
|
1830
|
+
headers: {
|
|
1831
|
+
"Content-Type": "application/json",
|
|
1832
|
+
...options?.headers
|
|
1833
|
+
}
|
|
1834
|
+
});
|
|
1835
|
+
};
|
|
1836
|
+
/**
|
|
1837
|
+
* Delete a task
|
|
1838
|
+
*/
|
|
1839
|
+
const deleteCrmTask = (options) => {
|
|
1840
|
+
return (options?.client ?? client).delete({
|
|
1841
|
+
security: [{
|
|
1842
|
+
name: "x-api-key",
|
|
1843
|
+
type: "apiKey"
|
|
1844
|
+
}, {
|
|
1845
|
+
scheme: "bearer",
|
|
1846
|
+
type: "http"
|
|
1847
|
+
}],
|
|
1848
|
+
url: "/v1/crm/tasks",
|
|
1849
|
+
...options,
|
|
1850
|
+
headers: {
|
|
1851
|
+
"Content-Type": "application/json",
|
|
1852
|
+
...options?.headers
|
|
1853
|
+
}
|
|
1854
|
+
});
|
|
1855
|
+
};
|
|
1856
|
+
/**
|
|
1857
|
+
* List tasks for a record or for an assignee
|
|
1858
|
+
*/
|
|
1859
|
+
const listCrmTasks = (options) => {
|
|
1860
|
+
return (options?.client ?? client).get({
|
|
1861
|
+
security: [{
|
|
1862
|
+
name: "x-api-key",
|
|
1863
|
+
type: "apiKey"
|
|
1864
|
+
}, {
|
|
1865
|
+
scheme: "bearer",
|
|
1866
|
+
type: "http"
|
|
1867
|
+
}],
|
|
1868
|
+
url: "/v1/crm/tasks",
|
|
1869
|
+
...options
|
|
1870
|
+
});
|
|
1871
|
+
};
|
|
1872
|
+
/**
|
|
1873
|
+
* Edit a task, or transition it to completed/cancelled
|
|
1874
|
+
*/
|
|
1875
|
+
const updateCrmTask = (options) => {
|
|
1876
|
+
return (options?.client ?? client).patch({
|
|
1877
|
+
security: [{
|
|
1878
|
+
name: "x-api-key",
|
|
1879
|
+
type: "apiKey"
|
|
1880
|
+
}, {
|
|
1881
|
+
scheme: "bearer",
|
|
1882
|
+
type: "http"
|
|
1883
|
+
}],
|
|
1884
|
+
url: "/v1/crm/tasks",
|
|
1885
|
+
...options,
|
|
1886
|
+
headers: {
|
|
1887
|
+
"Content-Type": "application/json",
|
|
1888
|
+
...options?.headers
|
|
1889
|
+
}
|
|
1890
|
+
});
|
|
1891
|
+
};
|
|
1892
|
+
/**
|
|
1893
|
+
* Create a task on a record
|
|
1894
|
+
*/
|
|
1895
|
+
const createCrmTask = (options) => {
|
|
1896
|
+
return (options?.client ?? client).post({
|
|
1897
|
+
security: [{
|
|
1898
|
+
name: "x-api-key",
|
|
1899
|
+
type: "apiKey"
|
|
1900
|
+
}, {
|
|
1901
|
+
scheme: "bearer",
|
|
1902
|
+
type: "http"
|
|
1903
|
+
}],
|
|
1904
|
+
url: "/v1/crm/tasks",
|
|
1905
|
+
...options,
|
|
1906
|
+
headers: {
|
|
1907
|
+
"Content-Type": "application/json",
|
|
1908
|
+
...options?.headers
|
|
1909
|
+
}
|
|
1910
|
+
});
|
|
1911
|
+
};
|
|
1912
|
+
/**
|
|
1913
|
+
* Cross-record task inbox for the caller's visible records
|
|
1914
|
+
*/
|
|
1915
|
+
const listCrmWorkspaceTasks = (options) => {
|
|
1916
|
+
return (options?.client ?? client).get({
|
|
1917
|
+
security: [{
|
|
1918
|
+
name: "x-api-key",
|
|
1919
|
+
type: "apiKey"
|
|
1920
|
+
}, {
|
|
1921
|
+
scheme: "bearer",
|
|
1922
|
+
type: "http"
|
|
1923
|
+
}],
|
|
1924
|
+
url: "/v1/crm/tasks/workspace",
|
|
1925
|
+
...options
|
|
1926
|
+
});
|
|
1927
|
+
};
|
|
1928
|
+
/**
|
|
1929
|
+
* Pull calendar changes and apply them (one record, or user-wide)
|
|
1930
|
+
*/
|
|
1931
|
+
const reconcileCrmMeetings = (options) => {
|
|
1932
|
+
return (options?.client ?? client).post({
|
|
1933
|
+
security: [{
|
|
1934
|
+
name: "x-api-key",
|
|
1935
|
+
type: "apiKey"
|
|
1936
|
+
}, {
|
|
1937
|
+
scheme: "bearer",
|
|
1938
|
+
type: "http"
|
|
1939
|
+
}],
|
|
1940
|
+
url: "/v1/crm/meetings/reconcile",
|
|
1941
|
+
...options,
|
|
1942
|
+
headers: {
|
|
1943
|
+
"Content-Type": "application/json",
|
|
1944
|
+
...options?.headers
|
|
1945
|
+
}
|
|
1946
|
+
});
|
|
1947
|
+
};
|
|
1948
|
+
/**
|
|
1949
|
+
* Delete a meeting (and its provider event)
|
|
1950
|
+
*/
|
|
1951
|
+
const deleteCrmMeeting = (options) => {
|
|
1952
|
+
return (options.client ?? client).delete({
|
|
1953
|
+
security: [{
|
|
1954
|
+
name: "x-api-key",
|
|
1955
|
+
type: "apiKey"
|
|
1956
|
+
}, {
|
|
1957
|
+
scheme: "bearer",
|
|
1958
|
+
type: "http"
|
|
1959
|
+
}],
|
|
1960
|
+
url: "/v1/crm/meetings",
|
|
1961
|
+
...options
|
|
1962
|
+
});
|
|
1963
|
+
};
|
|
1964
|
+
/**
|
|
1965
|
+
* List meetings for a record
|
|
1966
|
+
*/
|
|
1967
|
+
const listCrmMeetings = (options) => {
|
|
1968
|
+
return (options.client ?? client).get({
|
|
1969
|
+
security: [{
|
|
1970
|
+
name: "x-api-key",
|
|
1971
|
+
type: "apiKey"
|
|
1972
|
+
}, {
|
|
1973
|
+
scheme: "bearer",
|
|
1974
|
+
type: "http"
|
|
1975
|
+
}],
|
|
1976
|
+
url: "/v1/crm/meetings",
|
|
1977
|
+
...options
|
|
1978
|
+
});
|
|
1979
|
+
};
|
|
1980
|
+
/**
|
|
1981
|
+
* Update, cancel, complete, or re-sync a meeting
|
|
1982
|
+
*/
|
|
1983
|
+
const updateCrmMeeting = (options) => {
|
|
1984
|
+
return (options?.client ?? client).patch({
|
|
1985
|
+
security: [{
|
|
1986
|
+
name: "x-api-key",
|
|
1987
|
+
type: "apiKey"
|
|
1988
|
+
}, {
|
|
1989
|
+
scheme: "bearer",
|
|
1990
|
+
type: "http"
|
|
1991
|
+
}],
|
|
1992
|
+
url: "/v1/crm/meetings",
|
|
1993
|
+
...options,
|
|
1994
|
+
headers: {
|
|
1995
|
+
"Content-Type": "application/json",
|
|
1996
|
+
...options?.headers
|
|
1997
|
+
}
|
|
1998
|
+
});
|
|
1999
|
+
};
|
|
2000
|
+
/**
|
|
2001
|
+
* Create a meeting (optionally syncing it to a calendar provider)
|
|
2002
|
+
*/
|
|
2003
|
+
const createCrmMeeting = (options) => {
|
|
2004
|
+
return (options?.client ?? client).post({
|
|
2005
|
+
security: [{
|
|
2006
|
+
name: "x-api-key",
|
|
2007
|
+
type: "apiKey"
|
|
2008
|
+
}, {
|
|
2009
|
+
scheme: "bearer",
|
|
2010
|
+
type: "http"
|
|
2011
|
+
}],
|
|
2012
|
+
url: "/v1/crm/meetings",
|
|
2013
|
+
...options,
|
|
2014
|
+
headers: {
|
|
2015
|
+
"Content-Type": "application/json",
|
|
2016
|
+
...options?.headers
|
|
2017
|
+
}
|
|
2018
|
+
});
|
|
2019
|
+
};
|
|
2020
|
+
/**
|
|
2021
|
+
* Apply the Market-Insights updates the user accepted
|
|
2022
|
+
*/
|
|
2023
|
+
const applyCrmMiUpdates = (options) => {
|
|
2024
|
+
return (options?.client ?? client).post({
|
|
2025
|
+
security: [{
|
|
2026
|
+
name: "x-api-key",
|
|
2027
|
+
type: "apiKey"
|
|
2028
|
+
}, {
|
|
2029
|
+
scheme: "bearer",
|
|
2030
|
+
type: "http"
|
|
2031
|
+
}],
|
|
2032
|
+
url: "/v1/crm/records/apply-mi-updates",
|
|
2033
|
+
...options,
|
|
2034
|
+
headers: {
|
|
2035
|
+
"Content-Type": "application/json",
|
|
2036
|
+
...options?.headers
|
|
2037
|
+
}
|
|
2038
|
+
});
|
|
2039
|
+
};
|
|
2040
|
+
/**
|
|
2041
|
+
* Dismiss surfaced MI updates (remember them in the seen-ledger)
|
|
2042
|
+
*/
|
|
2043
|
+
const dismissCrmMiUpdates = (options) => {
|
|
2044
|
+
return (options?.client ?? client).post({
|
|
2045
|
+
security: [{
|
|
2046
|
+
name: "x-api-key",
|
|
2047
|
+
type: "apiKey"
|
|
2048
|
+
}, {
|
|
2049
|
+
scheme: "bearer",
|
|
2050
|
+
type: "http"
|
|
2051
|
+
}],
|
|
2052
|
+
url: "/v1/crm/records/dismiss-mi-updates",
|
|
2053
|
+
...options,
|
|
2054
|
+
headers: {
|
|
2055
|
+
"Content-Type": "application/json",
|
|
2056
|
+
...options?.headers
|
|
2057
|
+
}
|
|
2058
|
+
});
|
|
2059
|
+
};
|
|
2060
|
+
/**
|
|
2061
|
+
* Compute which Market-Insights fields differ from a record snapshot
|
|
2062
|
+
*/
|
|
2063
|
+
const getCrmMiUpdates = (options) => {
|
|
2064
|
+
return (options?.client ?? client).post({
|
|
2065
|
+
security: [{
|
|
2066
|
+
name: "x-api-key",
|
|
2067
|
+
type: "apiKey"
|
|
2068
|
+
}, {
|
|
2069
|
+
scheme: "bearer",
|
|
2070
|
+
type: "http"
|
|
2071
|
+
}],
|
|
2072
|
+
url: "/v1/crm/records/mi-updates",
|
|
2073
|
+
...options,
|
|
2074
|
+
headers: {
|
|
2075
|
+
"Content-Type": "application/json",
|
|
2076
|
+
...options?.headers
|
|
2077
|
+
}
|
|
2078
|
+
});
|
|
2079
|
+
};
|
|
2080
|
+
/**
|
|
2081
|
+
* Ask the org owner(s) to enable the CRM (membership-gated)
|
|
2082
|
+
*/
|
|
2083
|
+
const requestCrmAccess = (options) => {
|
|
2084
|
+
return (options?.client ?? client).post({
|
|
2085
|
+
security: [{
|
|
2086
|
+
name: "x-api-key",
|
|
2087
|
+
type: "apiKey"
|
|
2088
|
+
}, {
|
|
2089
|
+
scheme: "bearer",
|
|
2090
|
+
type: "http"
|
|
2091
|
+
}],
|
|
2092
|
+
url: "/v1/crm/request-access",
|
|
2093
|
+
...options,
|
|
2094
|
+
headers: {
|
|
2095
|
+
"Content-Type": "application/json",
|
|
2096
|
+
...options?.headers
|
|
2097
|
+
}
|
|
2098
|
+
});
|
|
2099
|
+
};
|
|
2100
|
+
/**
|
|
2101
|
+
* Remove a user-added contact method
|
|
2102
|
+
*/
|
|
2103
|
+
const removeCrmContactMethod = (options) => {
|
|
2104
|
+
return (options?.client ?? client).delete({
|
|
2105
|
+
security: [{
|
|
2106
|
+
name: "x-api-key",
|
|
2107
|
+
type: "apiKey"
|
|
2108
|
+
}, {
|
|
2109
|
+
scheme: "bearer",
|
|
2110
|
+
type: "http"
|
|
2111
|
+
}],
|
|
2112
|
+
url: "/v1/crm/contacts",
|
|
2113
|
+
...options,
|
|
2114
|
+
headers: {
|
|
2115
|
+
"Content-Type": "application/json",
|
|
2116
|
+
...options?.headers
|
|
2117
|
+
}
|
|
2118
|
+
});
|
|
2119
|
+
};
|
|
2120
|
+
/**
|
|
2121
|
+
* Update or suppress a contact method
|
|
2122
|
+
*/
|
|
2123
|
+
const updateCrmContactMethod = (options) => {
|
|
2124
|
+
return (options?.client ?? client).patch({
|
|
2125
|
+
security: [{
|
|
2126
|
+
name: "x-api-key",
|
|
2127
|
+
type: "apiKey"
|
|
2128
|
+
}, {
|
|
2129
|
+
scheme: "bearer",
|
|
2130
|
+
type: "http"
|
|
2131
|
+
}],
|
|
2132
|
+
url: "/v1/crm/contacts",
|
|
2133
|
+
...options,
|
|
2134
|
+
headers: {
|
|
2135
|
+
"Content-Type": "application/json",
|
|
2136
|
+
...options?.headers
|
|
2137
|
+
}
|
|
2138
|
+
});
|
|
2139
|
+
};
|
|
2140
|
+
/**
|
|
2141
|
+
* Add a contact method to a record
|
|
2142
|
+
*/
|
|
2143
|
+
const addCrmContactMethod = (options) => {
|
|
2144
|
+
return (options?.client ?? client).post({
|
|
2145
|
+
security: [{
|
|
2146
|
+
name: "x-api-key",
|
|
2147
|
+
type: "apiKey"
|
|
2148
|
+
}, {
|
|
2149
|
+
scheme: "bearer",
|
|
2150
|
+
type: "http"
|
|
2151
|
+
}],
|
|
2152
|
+
url: "/v1/crm/contacts",
|
|
2153
|
+
...options,
|
|
2154
|
+
headers: {
|
|
2155
|
+
"Content-Type": "application/json",
|
|
2156
|
+
...options?.headers
|
|
2157
|
+
}
|
|
2158
|
+
});
|
|
2159
|
+
};
|
|
2160
|
+
/**
|
|
2161
|
+
* List custom fields applicable to a view
|
|
2162
|
+
*/
|
|
2163
|
+
const listCrmCustomFields = (options) => {
|
|
2164
|
+
return (options.client ?? client).get({
|
|
2165
|
+
security: [{
|
|
2166
|
+
name: "x-api-key",
|
|
2167
|
+
type: "apiKey"
|
|
2168
|
+
}, {
|
|
2169
|
+
scheme: "bearer",
|
|
2170
|
+
type: "http"
|
|
2171
|
+
}],
|
|
2172
|
+
url: "/v1/crm/fields",
|
|
2173
|
+
...options
|
|
2174
|
+
});
|
|
2175
|
+
};
|
|
2176
|
+
/**
|
|
2177
|
+
* Get custom-field values for one or many records
|
|
2178
|
+
*/
|
|
2179
|
+
const getCrmCustomValues = (options) => {
|
|
2180
|
+
return (options?.client ?? client).get({
|
|
2181
|
+
security: [{
|
|
2182
|
+
name: "x-api-key",
|
|
2183
|
+
type: "apiKey"
|
|
2184
|
+
}, {
|
|
2185
|
+
scheme: "bearer",
|
|
2186
|
+
type: "http"
|
|
2187
|
+
}],
|
|
2188
|
+
url: "/v1/crm/custom-values",
|
|
2189
|
+
...options
|
|
2190
|
+
});
|
|
2191
|
+
};
|
|
2192
|
+
/**
|
|
2193
|
+
* Set a record's value for one custom field
|
|
2194
|
+
*/
|
|
2195
|
+
const setCrmCustomValue = (options) => {
|
|
2196
|
+
return (options?.client ?? client).patch({
|
|
2197
|
+
security: [{
|
|
2198
|
+
name: "x-api-key",
|
|
2199
|
+
type: "apiKey"
|
|
2200
|
+
}, {
|
|
2201
|
+
scheme: "bearer",
|
|
2202
|
+
type: "http"
|
|
2203
|
+
}],
|
|
2204
|
+
url: "/v1/crm/custom-values",
|
|
2205
|
+
...options,
|
|
2206
|
+
headers: {
|
|
2207
|
+
"Content-Type": "application/json",
|
|
2208
|
+
...options?.headers
|
|
2209
|
+
}
|
|
2210
|
+
});
|
|
2211
|
+
};
|
|
2212
|
+
/**
|
|
2213
|
+
* Send an outbound email via the user's connected Gmail or Outlook
|
|
2214
|
+
*/
|
|
2215
|
+
const sendCrmEmail = (options) => {
|
|
2216
|
+
return (options?.client ?? client).post({
|
|
2217
|
+
security: [{
|
|
2218
|
+
name: "x-api-key",
|
|
2219
|
+
type: "apiKey"
|
|
2220
|
+
}, {
|
|
2221
|
+
scheme: "bearer",
|
|
2222
|
+
type: "http"
|
|
2223
|
+
}],
|
|
2224
|
+
url: "/v1/crm/email/send",
|
|
2225
|
+
...options,
|
|
2226
|
+
headers: {
|
|
2227
|
+
"Content-Type": "application/json",
|
|
2228
|
+
...options?.headers
|
|
2229
|
+
}
|
|
2230
|
+
});
|
|
2231
|
+
};
|
|
2232
|
+
/**
|
|
2233
|
+
* List attribute templates the caller can load
|
|
2234
|
+
*/
|
|
2235
|
+
const listCrmTemplates = (options) => {
|
|
2236
|
+
return (options?.client ?? client).get({
|
|
2237
|
+
security: [{
|
|
2238
|
+
name: "x-api-key",
|
|
2239
|
+
type: "apiKey"
|
|
2240
|
+
}, {
|
|
2241
|
+
scheme: "bearer",
|
|
2242
|
+
type: "http"
|
|
2243
|
+
}],
|
|
2244
|
+
url: "/v1/crm/templates",
|
|
2245
|
+
...options
|
|
2246
|
+
});
|
|
2247
|
+
};
|
|
2248
|
+
/**
|
|
2249
|
+
* Create a template (optionally captured from a list)
|
|
2250
|
+
*/
|
|
2251
|
+
const createCrmTemplate = (options) => {
|
|
2252
|
+
return (options?.client ?? client).post({
|
|
2253
|
+
security: [{
|
|
2254
|
+
name: "x-api-key",
|
|
2255
|
+
type: "apiKey"
|
|
2256
|
+
}, {
|
|
2257
|
+
scheme: "bearer",
|
|
2258
|
+
type: "http"
|
|
2259
|
+
}],
|
|
2260
|
+
url: "/v1/crm/templates",
|
|
2261
|
+
...options,
|
|
2262
|
+
headers: {
|
|
2263
|
+
"Content-Type": "application/json",
|
|
2264
|
+
...options?.headers
|
|
2265
|
+
}
|
|
2266
|
+
});
|
|
2267
|
+
};
|
|
2268
|
+
/**
|
|
2269
|
+
* Delete a template (its fields + shares cascade)
|
|
2270
|
+
*/
|
|
2271
|
+
const deleteCrmTemplate = (options) => {
|
|
2272
|
+
return (options.client ?? client).delete({
|
|
2273
|
+
security: [{
|
|
2274
|
+
name: "x-api-key",
|
|
2275
|
+
type: "apiKey"
|
|
2276
|
+
}, {
|
|
2277
|
+
scheme: "bearer",
|
|
2278
|
+
type: "http"
|
|
2279
|
+
}],
|
|
2280
|
+
url: "/v1/crm/templates/{id}",
|
|
2281
|
+
...options
|
|
2282
|
+
});
|
|
2283
|
+
};
|
|
2284
|
+
/**
|
|
2285
|
+
* Load one template with its fields
|
|
2286
|
+
*/
|
|
2287
|
+
const getCrmTemplate = (options) => {
|
|
2288
|
+
return (options.client ?? client).get({
|
|
2289
|
+
security: [{
|
|
2290
|
+
name: "x-api-key",
|
|
2291
|
+
type: "apiKey"
|
|
2292
|
+
}, {
|
|
2293
|
+
scheme: "bearer",
|
|
2294
|
+
type: "http"
|
|
2295
|
+
}],
|
|
2296
|
+
url: "/v1/crm/templates/{id}",
|
|
726
2297
|
...options
|
|
727
2298
|
});
|
|
728
2299
|
};
|
|
729
2300
|
/**
|
|
730
|
-
*
|
|
2301
|
+
* Rename a template
|
|
731
2302
|
*/
|
|
732
|
-
const
|
|
733
|
-
return (options
|
|
2303
|
+
const updateCrmTemplate = (options) => {
|
|
2304
|
+
return (options.client ?? client).patch({
|
|
734
2305
|
security: [{
|
|
735
2306
|
name: "x-api-key",
|
|
736
2307
|
type: "apiKey"
|
|
@@ -738,15 +2309,19 @@ const getAlertUnreadCount = (options) => {
|
|
|
738
2309
|
scheme: "bearer",
|
|
739
2310
|
type: "http"
|
|
740
2311
|
}],
|
|
741
|
-
url: "/v1/
|
|
742
|
-
...options
|
|
2312
|
+
url: "/v1/crm/templates/{id}",
|
|
2313
|
+
...options,
|
|
2314
|
+
headers: {
|
|
2315
|
+
"Content-Type": "application/json",
|
|
2316
|
+
...options?.headers
|
|
2317
|
+
}
|
|
743
2318
|
});
|
|
744
2319
|
};
|
|
745
2320
|
/**
|
|
746
|
-
*
|
|
2321
|
+
* Revoke a teammate's template grant
|
|
747
2322
|
*/
|
|
748
|
-
const
|
|
749
|
-
return (options
|
|
2323
|
+
const unshareCrmTemplate = (options) => {
|
|
2324
|
+
return (options.client ?? client).delete({
|
|
750
2325
|
security: [{
|
|
751
2326
|
name: "x-api-key",
|
|
752
2327
|
type: "apiKey"
|
|
@@ -754,15 +2329,15 @@ const listAlertDigests = (options) => {
|
|
|
754
2329
|
scheme: "bearer",
|
|
755
2330
|
type: "http"
|
|
756
2331
|
}],
|
|
757
|
-
url: "/v1/
|
|
2332
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
758
2333
|
...options
|
|
759
2334
|
});
|
|
760
2335
|
};
|
|
761
2336
|
/**
|
|
762
|
-
*
|
|
2337
|
+
* A template's share panel (owner display, canManage, grantees)
|
|
763
2338
|
*/
|
|
764
|
-
const
|
|
765
|
-
return (options.client ?? client).
|
|
2339
|
+
const getCrmTemplateShares = (options) => {
|
|
2340
|
+
return (options.client ?? client).get({
|
|
766
2341
|
security: [{
|
|
767
2342
|
name: "x-api-key",
|
|
768
2343
|
type: "apiKey"
|
|
@@ -770,16 +2345,15 @@ const markAlertDigestRead = (options) => {
|
|
|
770
2345
|
scheme: "bearer",
|
|
771
2346
|
type: "http"
|
|
772
2347
|
}],
|
|
773
|
-
url: "/v1/
|
|
2348
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
774
2349
|
...options
|
|
775
2350
|
});
|
|
776
2351
|
};
|
|
777
2352
|
/**
|
|
778
|
-
*
|
|
779
|
-
* 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.
|
|
2353
|
+
* Grant a teammate load access to a template
|
|
780
2354
|
*/
|
|
781
|
-
const
|
|
782
|
-
return (options
|
|
2355
|
+
const shareCrmTemplate = (options) => {
|
|
2356
|
+
return (options.client ?? client).post({
|
|
783
2357
|
security: [{
|
|
784
2358
|
name: "x-api-key",
|
|
785
2359
|
type: "apiKey"
|
|
@@ -787,7 +2361,7 @@ const previewAlerts = (options) => {
|
|
|
787
2361
|
scheme: "bearer",
|
|
788
2362
|
type: "http"
|
|
789
2363
|
}],
|
|
790
|
-
url: "/v1/
|
|
2364
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
791
2365
|
...options,
|
|
792
2366
|
headers: {
|
|
793
2367
|
"Content-Type": "application/json",
|
|
@@ -796,11 +2370,10 @@ const previewAlerts = (options) => {
|
|
|
796
2370
|
});
|
|
797
2371
|
};
|
|
798
2372
|
/**
|
|
799
|
-
*
|
|
800
|
-
* 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.
|
|
2373
|
+
* Revoke a user's access to a record
|
|
801
2374
|
*/
|
|
802
|
-
const
|
|
803
|
-
return (options?.client ?? client).
|
|
2375
|
+
const revokeCrmRecordAccess = (options) => {
|
|
2376
|
+
return (options?.client ?? client).delete({
|
|
804
2377
|
security: [{
|
|
805
2378
|
name: "x-api-key",
|
|
806
2379
|
type: "apiKey"
|
|
@@ -808,7 +2381,7 @@ const listBranches = (options) => {
|
|
|
808
2381
|
scheme: "bearer",
|
|
809
2382
|
type: "http"
|
|
810
2383
|
}],
|
|
811
|
-
url: "/v1/
|
|
2384
|
+
url: "/v1/crm/record-shares",
|
|
812
2385
|
...options,
|
|
813
2386
|
headers: {
|
|
814
2387
|
"Content-Type": "application/json",
|
|
@@ -817,10 +2390,9 @@ const listBranches = (options) => {
|
|
|
817
2390
|
});
|
|
818
2391
|
};
|
|
819
2392
|
/**
|
|
820
|
-
*
|
|
821
|
-
* 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.
|
|
2393
|
+
* List the direct shares on a record (+ display, canManageShares)
|
|
822
2394
|
*/
|
|
823
|
-
const
|
|
2395
|
+
const listCrmRecordShares = (options) => {
|
|
824
2396
|
return (options.client ?? client).get({
|
|
825
2397
|
security: [{
|
|
826
2398
|
name: "x-api-key",
|
|
@@ -829,15 +2401,14 @@ const getBranch = (options) => {
|
|
|
829
2401
|
scheme: "bearer",
|
|
830
2402
|
type: "http"
|
|
831
2403
|
}],
|
|
832
|
-
url: "/v1/
|
|
2404
|
+
url: "/v1/crm/record-shares",
|
|
833
2405
|
...options
|
|
834
2406
|
});
|
|
835
2407
|
};
|
|
836
2408
|
/**
|
|
837
|
-
*
|
|
838
|
-
* 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.
|
|
2409
|
+
* Grant a user access to a record
|
|
839
2410
|
*/
|
|
840
|
-
const
|
|
2411
|
+
const grantCrmRecordAccess = (options) => {
|
|
841
2412
|
return (options?.client ?? client).post({
|
|
842
2413
|
security: [{
|
|
843
2414
|
name: "x-api-key",
|
|
@@ -846,7 +2417,7 @@ const submitBranchesBulkDelivery = (options) => {
|
|
|
846
2417
|
scheme: "bearer",
|
|
847
2418
|
type: "http"
|
|
848
2419
|
}],
|
|
849
|
-
url: "/v1/
|
|
2420
|
+
url: "/v1/crm/record-shares",
|
|
850
2421
|
...options,
|
|
851
2422
|
headers: {
|
|
852
2423
|
"Content-Type": "application/json",
|
|
@@ -855,9 +2426,9 @@ const submitBranchesBulkDelivery = (options) => {
|
|
|
855
2426
|
});
|
|
856
2427
|
};
|
|
857
2428
|
/**
|
|
858
|
-
*
|
|
2429
|
+
* Who can access a record, and whether the caller may manage shares
|
|
859
2430
|
*/
|
|
860
|
-
const
|
|
2431
|
+
const getCrmRecordAccess = (options) => {
|
|
861
2432
|
return (options.client ?? client).get({
|
|
862
2433
|
security: [{
|
|
863
2434
|
name: "x-api-key",
|
|
@@ -866,15 +2437,30 @@ const getBranchesBulkDeliveryJob = (options) => {
|
|
|
866
2437
|
scheme: "bearer",
|
|
867
2438
|
type: "http"
|
|
868
2439
|
}],
|
|
869
|
-
url: "/v1/
|
|
2440
|
+
url: "/v1/crm/record-access",
|
|
870
2441
|
...options
|
|
871
2442
|
});
|
|
872
2443
|
};
|
|
873
2444
|
/**
|
|
874
|
-
*
|
|
875
|
-
* 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.)
|
|
2445
|
+
* Typeahead search for email recipients the caller can see
|
|
876
2446
|
*/
|
|
877
|
-
const
|
|
2447
|
+
const searchCrmEmailRecipients = (options) => {
|
|
2448
|
+
return (options.client ?? client).get({
|
|
2449
|
+
security: [{
|
|
2450
|
+
name: "x-api-key",
|
|
2451
|
+
type: "apiKey"
|
|
2452
|
+
}, {
|
|
2453
|
+
scheme: "bearer",
|
|
2454
|
+
type: "http"
|
|
2455
|
+
}],
|
|
2456
|
+
url: "/v1/crm/recipients",
|
|
2457
|
+
...options
|
|
2458
|
+
});
|
|
2459
|
+
};
|
|
2460
|
+
/**
|
|
2461
|
+
* Bulk import records (create or update), optionally into a list
|
|
2462
|
+
*/
|
|
2463
|
+
const importCrmRecords = (options) => {
|
|
878
2464
|
return (options?.client ?? client).post({
|
|
879
2465
|
security: [{
|
|
880
2466
|
name: "x-api-key",
|
|
@@ -883,7 +2469,7 @@ const listCompanies = (options) => {
|
|
|
883
2469
|
scheme: "bearer",
|
|
884
2470
|
type: "http"
|
|
885
2471
|
}],
|
|
886
|
-
url: "/v1/
|
|
2472
|
+
url: "/v1/crm/import",
|
|
887
2473
|
...options,
|
|
888
2474
|
headers: {
|
|
889
2475
|
"Content-Type": "application/json",
|
|
@@ -892,10 +2478,10 @@ const listCompanies = (options) => {
|
|
|
892
2478
|
});
|
|
893
2479
|
};
|
|
894
2480
|
/**
|
|
895
|
-
*
|
|
2481
|
+
* Apply a match to an imported record (link + seed contacts)
|
|
896
2482
|
*/
|
|
897
|
-
const
|
|
898
|
-
return (options
|
|
2483
|
+
const applyCrmEnrichment = (options) => {
|
|
2484
|
+
return (options?.client ?? client).post({
|
|
899
2485
|
security: [{
|
|
900
2486
|
name: "x-api-key",
|
|
901
2487
|
type: "apiKey"
|
|
@@ -903,15 +2489,19 @@ const getCompany = (options) => {
|
|
|
903
2489
|
scheme: "bearer",
|
|
904
2490
|
type: "http"
|
|
905
2491
|
}],
|
|
906
|
-
url: "/v1/
|
|
907
|
-
...options
|
|
2492
|
+
url: "/v1/crm/enrich/apply",
|
|
2493
|
+
...options,
|
|
2494
|
+
headers: {
|
|
2495
|
+
"Content-Type": "application/json",
|
|
2496
|
+
...options?.headers
|
|
2497
|
+
}
|
|
908
2498
|
});
|
|
909
2499
|
};
|
|
910
2500
|
/**
|
|
911
|
-
*
|
|
2501
|
+
* Link a record to a chosen candidate
|
|
912
2502
|
*/
|
|
913
|
-
const
|
|
914
|
-
return (options?.client ?? client).
|
|
2503
|
+
const linkCrmRecord = (options) => {
|
|
2504
|
+
return (options?.client ?? client).patch({
|
|
915
2505
|
security: [{
|
|
916
2506
|
name: "x-api-key",
|
|
917
2507
|
type: "apiKey"
|
|
@@ -919,7 +2509,7 @@ const companyAnalyticsSummary = (options) => {
|
|
|
919
2509
|
scheme: "bearer",
|
|
920
2510
|
type: "http"
|
|
921
2511
|
}],
|
|
922
|
-
url: "/v1/
|
|
2512
|
+
url: "/v1/crm/match",
|
|
923
2513
|
...options,
|
|
924
2514
|
headers: {
|
|
925
2515
|
"Content-Type": "application/json",
|
|
@@ -928,9 +2518,9 @@ const companyAnalyticsSummary = (options) => {
|
|
|
928
2518
|
});
|
|
929
2519
|
};
|
|
930
2520
|
/**
|
|
931
|
-
*
|
|
2521
|
+
* Find candidate entities to link an unmatched record to
|
|
932
2522
|
*/
|
|
933
|
-
const
|
|
2523
|
+
const searchCrmMatchCandidates = (options) => {
|
|
934
2524
|
return (options?.client ?? client).post({
|
|
935
2525
|
security: [{
|
|
936
2526
|
name: "x-api-key",
|
|
@@ -939,7 +2529,7 @@ const companyAnalyticsTimeSeries = (options) => {
|
|
|
939
2529
|
scheme: "bearer",
|
|
940
2530
|
type: "http"
|
|
941
2531
|
}],
|
|
942
|
-
url: "/v1/
|
|
2532
|
+
url: "/v1/crm/match",
|
|
943
2533
|
...options,
|
|
944
2534
|
headers: {
|
|
945
2535
|
"Content-Type": "application/json",
|
|
@@ -948,9 +2538,9 @@ const companyAnalyticsTimeSeries = (options) => {
|
|
|
948
2538
|
});
|
|
949
2539
|
};
|
|
950
2540
|
/**
|
|
951
|
-
*
|
|
2541
|
+
* Recent-vs-prior 3-month closed-loan units for a set of LOs (by NMLS)
|
|
952
2542
|
*/
|
|
953
|
-
const
|
|
2543
|
+
const crmLoMomentum = (options) => {
|
|
954
2544
|
return (options?.client ?? client).post({
|
|
955
2545
|
security: [{
|
|
956
2546
|
name: "x-api-key",
|
|
@@ -959,7 +2549,7 @@ const companyAnalyticsChart = (options) => {
|
|
|
959
2549
|
scheme: "bearer",
|
|
960
2550
|
type: "http"
|
|
961
2551
|
}],
|
|
962
|
-
url: "/v1/
|
|
2552
|
+
url: "/v1/crm/lo-momentum",
|
|
963
2553
|
...options,
|
|
964
2554
|
headers: {
|
|
965
2555
|
"Content-Type": "application/json",
|
|
@@ -968,10 +2558,10 @@ const companyAnalyticsChart = (options) => {
|
|
|
968
2558
|
});
|
|
969
2559
|
};
|
|
970
2560
|
/**
|
|
971
|
-
* Loan
|
|
2561
|
+
* Loan-type mix (percentage + top type) for a single LO (by NMLS)
|
|
972
2562
|
*/
|
|
973
|
-
const
|
|
974
|
-
return (options
|
|
2563
|
+
const crmLoLoanMix = (options) => {
|
|
2564
|
+
return (options?.client ?? client).post({
|
|
975
2565
|
security: [{
|
|
976
2566
|
name: "x-api-key",
|
|
977
2567
|
type: "apiKey"
|
|
@@ -979,7 +2569,7 @@ const companySponsoredIndividuals = (options) => {
|
|
|
979
2569
|
scheme: "bearer",
|
|
980
2570
|
type: "http"
|
|
981
2571
|
}],
|
|
982
|
-
url: "/v1/
|
|
2572
|
+
url: "/v1/crm/lo-loan-mix",
|
|
983
2573
|
...options,
|
|
984
2574
|
headers: {
|
|
985
2575
|
"Content-Type": "application/json",
|
|
@@ -988,10 +2578,10 @@ const companySponsoredIndividuals = (options) => {
|
|
|
988
2578
|
});
|
|
989
2579
|
};
|
|
990
2580
|
/**
|
|
991
|
-
*
|
|
2581
|
+
* Rank an agent's LO partners by product-mix + size similarity to a viewing LO
|
|
992
2582
|
*/
|
|
993
|
-
const
|
|
994
|
-
return (options
|
|
2583
|
+
const crmSimilarOriginators = (options) => {
|
|
2584
|
+
return (options?.client ?? client).post({
|
|
995
2585
|
security: [{
|
|
996
2586
|
name: "x-api-key",
|
|
997
2587
|
type: "apiKey"
|
|
@@ -999,7 +2589,7 @@ const companyBranches = (options) => {
|
|
|
999
2589
|
scheme: "bearer",
|
|
1000
2590
|
type: "http"
|
|
1001
2591
|
}],
|
|
1002
|
-
url: "/v1/
|
|
2592
|
+
url: "/v1/crm/similar-originators",
|
|
1003
2593
|
...options,
|
|
1004
2594
|
headers: {
|
|
1005
2595
|
"Content-Type": "application/json",
|
|
@@ -1008,10 +2598,10 @@ const companyBranches = (options) => {
|
|
|
1008
2598
|
});
|
|
1009
2599
|
};
|
|
1010
2600
|
/**
|
|
1011
|
-
*
|
|
2601
|
+
* Current-sponsor office location + sponsored flag for a set of LOs
|
|
1012
2602
|
*/
|
|
1013
|
-
const
|
|
1014
|
-
return (options
|
|
2603
|
+
const crmLoSponsorLocation = (options) => {
|
|
2604
|
+
return (options?.client ?? client).post({
|
|
1015
2605
|
security: [{
|
|
1016
2606
|
name: "x-api-key",
|
|
1017
2607
|
type: "apiKey"
|
|
@@ -1019,7 +2609,7 @@ const companyOriginators = (options) => {
|
|
|
1019
2609
|
scheme: "bearer",
|
|
1020
2610
|
type: "http"
|
|
1021
2611
|
}],
|
|
1022
|
-
url: "/v1/
|
|
2612
|
+
url: "/v1/crm/lo-sponsor-location",
|
|
1023
2613
|
...options,
|
|
1024
2614
|
headers: {
|
|
1025
2615
|
"Content-Type": "application/json",
|
|
@@ -1028,10 +2618,10 @@ const companyOriginators = (options) => {
|
|
|
1028
2618
|
});
|
|
1029
2619
|
};
|
|
1030
2620
|
/**
|
|
1031
|
-
*
|
|
2621
|
+
* Bank / Credit Union / Broker / Retail channel per LO (by NMLS)
|
|
1032
2622
|
*/
|
|
1033
|
-
const
|
|
1034
|
-
return (options
|
|
2623
|
+
const crmLenderChannels = (options) => {
|
|
2624
|
+
return (options?.client ?? client).post({
|
|
1035
2625
|
security: [{
|
|
1036
2626
|
name: "x-api-key",
|
|
1037
2627
|
type: "apiKey"
|
|
@@ -1039,7 +2629,7 @@ const companyLenders = (options) => {
|
|
|
1039
2629
|
scheme: "bearer",
|
|
1040
2630
|
type: "http"
|
|
1041
2631
|
}],
|
|
1042
|
-
url: "/v1/
|
|
2632
|
+
url: "/v1/crm/lender-channels",
|
|
1043
2633
|
...options,
|
|
1044
2634
|
headers: {
|
|
1045
2635
|
"Content-Type": "application/json",
|
|
@@ -1048,10 +2638,10 @@ const companyLenders = (options) => {
|
|
|
1048
2638
|
});
|
|
1049
2639
|
};
|
|
1050
2640
|
/**
|
|
1051
|
-
*
|
|
2641
|
+
* The current user's still-live call (for reload resume)
|
|
1052
2642
|
*/
|
|
1053
|
-
const
|
|
1054
|
-
return (options
|
|
2643
|
+
const getCrmActiveCall = (options) => {
|
|
2644
|
+
return (options?.client ?? client).get({
|
|
1055
2645
|
security: [{
|
|
1056
2646
|
name: "x-api-key",
|
|
1057
2647
|
type: "apiKey"
|
|
@@ -1059,19 +2649,15 @@ const companyOffices = (options) => {
|
|
|
1059
2649
|
scheme: "bearer",
|
|
1060
2650
|
type: "http"
|
|
1061
2651
|
}],
|
|
1062
|
-
url: "/v1/
|
|
1063
|
-
...options
|
|
1064
|
-
headers: {
|
|
1065
|
-
"Content-Type": "application/json",
|
|
1066
|
-
...options?.headers
|
|
1067
|
-
}
|
|
2652
|
+
url: "/v1/crm/calls/active",
|
|
2653
|
+
...options
|
|
1068
2654
|
});
|
|
1069
2655
|
};
|
|
1070
2656
|
/**
|
|
1071
|
-
*
|
|
2657
|
+
* Persist an AI analysis of a recorded call
|
|
1072
2658
|
*/
|
|
1073
|
-
const
|
|
1074
|
-
return (options
|
|
2659
|
+
const setCrmCallAnalysis = (options) => {
|
|
2660
|
+
return (options?.client ?? client).post({
|
|
1075
2661
|
security: [{
|
|
1076
2662
|
name: "x-api-key",
|
|
1077
2663
|
type: "apiKey"
|
|
@@ -1079,7 +2665,7 @@ const companyCities = (options) => {
|
|
|
1079
2665
|
scheme: "bearer",
|
|
1080
2666
|
type: "http"
|
|
1081
2667
|
}],
|
|
1082
|
-
url: "/v1/
|
|
2668
|
+
url: "/v1/crm/calls/analysis",
|
|
1083
2669
|
...options,
|
|
1084
2670
|
headers: {
|
|
1085
2671
|
"Content-Type": "application/json",
|
|
@@ -1088,10 +2674,10 @@ const companyCities = (options) => {
|
|
|
1088
2674
|
});
|
|
1089
2675
|
};
|
|
1090
2676
|
/**
|
|
1091
|
-
*
|
|
2677
|
+
* Poll a recorded call's transcript (advances the pipeline)
|
|
1092
2678
|
*/
|
|
1093
|
-
const
|
|
1094
|
-
return (options.client ?? client).
|
|
2679
|
+
const getCrmCallTranscript = (options) => {
|
|
2680
|
+
return (options.client ?? client).get({
|
|
1095
2681
|
security: [{
|
|
1096
2682
|
name: "x-api-key",
|
|
1097
2683
|
type: "apiKey"
|
|
@@ -1099,19 +2685,15 @@ const companyStates = (options) => {
|
|
|
1099
2685
|
scheme: "bearer",
|
|
1100
2686
|
type: "http"
|
|
1101
2687
|
}],
|
|
1102
|
-
url: "/v1/
|
|
1103
|
-
...options
|
|
1104
|
-
headers: {
|
|
1105
|
-
"Content-Type": "application/json",
|
|
1106
|
-
...options?.headers
|
|
1107
|
-
}
|
|
2688
|
+
url: "/v1/crm/calls/transcript",
|
|
2689
|
+
...options
|
|
1108
2690
|
});
|
|
1109
2691
|
};
|
|
1110
2692
|
/**
|
|
1111
|
-
*
|
|
2693
|
+
* Remove a caller ID from the registry
|
|
1112
2694
|
*/
|
|
1113
|
-
const
|
|
1114
|
-
return (options.client ?? client).
|
|
2695
|
+
const deleteCrmCallerId = (options) => {
|
|
2696
|
+
return (options.client ?? client).delete({
|
|
1115
2697
|
security: [{
|
|
1116
2698
|
name: "x-api-key",
|
|
1117
2699
|
type: "apiKey"
|
|
@@ -1119,7 +2701,39 @@ const companyCounties = (options) => {
|
|
|
1119
2701
|
scheme: "bearer",
|
|
1120
2702
|
type: "http"
|
|
1121
2703
|
}],
|
|
1122
|
-
url: "/v1/
|
|
2704
|
+
url: "/v1/crm/caller-ids",
|
|
2705
|
+
...options
|
|
2706
|
+
});
|
|
2707
|
+
};
|
|
2708
|
+
/**
|
|
2709
|
+
* List the current user's caller IDs
|
|
2710
|
+
*/
|
|
2711
|
+
const listCrmCallerIds = (options) => {
|
|
2712
|
+
return (options?.client ?? client).get({
|
|
2713
|
+
security: [{
|
|
2714
|
+
name: "x-api-key",
|
|
2715
|
+
type: "apiKey"
|
|
2716
|
+
}, {
|
|
2717
|
+
scheme: "bearer",
|
|
2718
|
+
type: "http"
|
|
2719
|
+
}],
|
|
2720
|
+
url: "/v1/crm/caller-ids",
|
|
2721
|
+
...options
|
|
2722
|
+
});
|
|
2723
|
+
};
|
|
2724
|
+
/**
|
|
2725
|
+
* Make a verified caller ID the default
|
|
2726
|
+
*/
|
|
2727
|
+
const setDefaultCrmCallerId = (options) => {
|
|
2728
|
+
return (options?.client ?? client).patch({
|
|
2729
|
+
security: [{
|
|
2730
|
+
name: "x-api-key",
|
|
2731
|
+
type: "apiKey"
|
|
2732
|
+
}, {
|
|
2733
|
+
scheme: "bearer",
|
|
2734
|
+
type: "http"
|
|
2735
|
+
}],
|
|
2736
|
+
url: "/v1/crm/caller-ids",
|
|
1123
2737
|
...options,
|
|
1124
2738
|
headers: {
|
|
1125
2739
|
"Content-Type": "application/json",
|
|
@@ -1128,10 +2742,10 @@ const companyCounties = (options) => {
|
|
|
1128
2742
|
});
|
|
1129
2743
|
};
|
|
1130
2744
|
/**
|
|
1131
|
-
*
|
|
2745
|
+
* Start caller-ID verification or re-check its outcome
|
|
1132
2746
|
*/
|
|
1133
|
-
const
|
|
1134
|
-
return (options
|
|
2747
|
+
const actionCrmCallerId = (options) => {
|
|
2748
|
+
return (options?.client ?? client).post({
|
|
1135
2749
|
security: [{
|
|
1136
2750
|
name: "x-api-key",
|
|
1137
2751
|
type: "apiKey"
|
|
@@ -1139,7 +2753,7 @@ const companySponsorshipMovement = (options) => {
|
|
|
1139
2753
|
scheme: "bearer",
|
|
1140
2754
|
type: "http"
|
|
1141
2755
|
}],
|
|
1142
|
-
url: "/v1/
|
|
2756
|
+
url: "/v1/crm/caller-ids",
|
|
1143
2757
|
...options,
|
|
1144
2758
|
headers: {
|
|
1145
2759
|
"Content-Type": "application/json",
|
|
@@ -1148,11 +2762,10 @@ const companySponsorshipMovement = (options) => {
|
|
|
1148
2762
|
});
|
|
1149
2763
|
};
|
|
1150
2764
|
/**
|
|
1151
|
-
*
|
|
1152
|
-
* 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.
|
|
2765
|
+
* Poll one call's status (syncs + finalizes on terminal)
|
|
1153
2766
|
*/
|
|
1154
|
-
const
|
|
1155
|
-
return (options
|
|
2767
|
+
const getCrmCall = (options) => {
|
|
2768
|
+
return (options.client ?? client).get({
|
|
1156
2769
|
security: [{
|
|
1157
2770
|
name: "x-api-key",
|
|
1158
2771
|
type: "apiKey"
|
|
@@ -1160,7 +2773,23 @@ const submitCompaniesBulkDelivery = (options) => {
|
|
|
1160
2773
|
scheme: "bearer",
|
|
1161
2774
|
type: "http"
|
|
1162
2775
|
}],
|
|
1163
|
-
url: "/v1/
|
|
2776
|
+
url: "/v1/crm/calls",
|
|
2777
|
+
...options
|
|
2778
|
+
});
|
|
2779
|
+
};
|
|
2780
|
+
/**
|
|
2781
|
+
* Hang up an in-flight call
|
|
2782
|
+
*/
|
|
2783
|
+
const hangupCrmCall = (options) => {
|
|
2784
|
+
return (options?.client ?? client).patch({
|
|
2785
|
+
security: [{
|
|
2786
|
+
name: "x-api-key",
|
|
2787
|
+
type: "apiKey"
|
|
2788
|
+
}, {
|
|
2789
|
+
scheme: "bearer",
|
|
2790
|
+
type: "http"
|
|
2791
|
+
}],
|
|
2792
|
+
url: "/v1/crm/calls",
|
|
1164
2793
|
...options,
|
|
1165
2794
|
headers: {
|
|
1166
2795
|
"Content-Type": "application/json",
|
|
@@ -1169,10 +2798,10 @@ const submitCompaniesBulkDelivery = (options) => {
|
|
|
1169
2798
|
});
|
|
1170
2799
|
};
|
|
1171
2800
|
/**
|
|
1172
|
-
*
|
|
2801
|
+
* Place an outbound bridge call
|
|
1173
2802
|
*/
|
|
1174
|
-
const
|
|
1175
|
-
return (options
|
|
2803
|
+
const placeCrmCall = (options) => {
|
|
2804
|
+
return (options?.client ?? client).post({
|
|
1176
2805
|
security: [{
|
|
1177
2806
|
name: "x-api-key",
|
|
1178
2807
|
type: "apiKey"
|
|
@@ -1180,8 +2809,12 @@ const getCompaniesBulkDeliveryJob = (options) => {
|
|
|
1180
2809
|
scheme: "bearer",
|
|
1181
2810
|
type: "http"
|
|
1182
2811
|
}],
|
|
1183
|
-
url: "/v1/
|
|
1184
|
-
...options
|
|
2812
|
+
url: "/v1/crm/calls",
|
|
2813
|
+
...options,
|
|
2814
|
+
headers: {
|
|
2815
|
+
"Content-Type": "application/json",
|
|
2816
|
+
...options?.headers
|
|
2817
|
+
}
|
|
1185
2818
|
});
|
|
1186
2819
|
};
|
|
1187
2820
|
/**
|
|
@@ -1763,6 +3396,26 @@ const originatorZipCodes = (options) => {
|
|
|
1763
3396
|
});
|
|
1764
3397
|
};
|
|
1765
3398
|
/**
|
|
3399
|
+
* Broker shops this LO originated loans through (name-resolved)
|
|
3400
|
+
*/
|
|
3401
|
+
const originatorBrokers = (options) => {
|
|
3402
|
+
return (options.client ?? client).post({
|
|
3403
|
+
security: [{
|
|
3404
|
+
name: "x-api-key",
|
|
3405
|
+
type: "apiKey"
|
|
3406
|
+
}, {
|
|
3407
|
+
scheme: "bearer",
|
|
3408
|
+
type: "http"
|
|
3409
|
+
}],
|
|
3410
|
+
url: "/v1/originators/{nmlsId}/breakdowns/brokers",
|
|
3411
|
+
...options,
|
|
3412
|
+
headers: {
|
|
3413
|
+
"Content-Type": "application/json",
|
|
3414
|
+
...options?.headers
|
|
3415
|
+
}
|
|
3416
|
+
});
|
|
3417
|
+
};
|
|
3418
|
+
/**
|
|
1766
3419
|
* Branch (broker) history for this LO
|
|
1767
3420
|
*/
|
|
1768
3421
|
const originatorBranches = (options) => {
|
|
@@ -1783,9 +3436,9 @@ const originatorBranches = (options) => {
|
|
|
1783
3436
|
});
|
|
1784
3437
|
};
|
|
1785
3438
|
/**
|
|
1786
|
-
*
|
|
3439
|
+
* City volume breakdown across this LO's loans
|
|
1787
3440
|
*/
|
|
1788
|
-
const
|
|
3441
|
+
const originatorCitiesBreakdown = (options) => {
|
|
1789
3442
|
return (options.client ?? client).post({
|
|
1790
3443
|
security: [{
|
|
1791
3444
|
name: "x-api-key",
|
|
@@ -1794,7 +3447,7 @@ const originatorOffices = (options) => {
|
|
|
1794
3447
|
scheme: "bearer",
|
|
1795
3448
|
type: "http"
|
|
1796
3449
|
}],
|
|
1797
|
-
url: "/v1/originators/{nmlsId}/breakdowns/
|
|
3450
|
+
url: "/v1/originators/{nmlsId}/breakdowns/cities",
|
|
1798
3451
|
...options,
|
|
1799
3452
|
headers: {
|
|
1800
3453
|
"Content-Type": "application/json",
|
|
@@ -1803,9 +3456,9 @@ const originatorOffices = (options) => {
|
|
|
1803
3456
|
});
|
|
1804
3457
|
};
|
|
1805
3458
|
/**
|
|
1806
|
-
*
|
|
3459
|
+
* State volume breakdown across this LO's loans
|
|
1807
3460
|
*/
|
|
1808
|
-
const
|
|
3461
|
+
const originatorStatesBreakdown = (options) => {
|
|
1809
3462
|
return (options.client ?? client).post({
|
|
1810
3463
|
security: [{
|
|
1811
3464
|
name: "x-api-key",
|
|
@@ -1814,7 +3467,7 @@ const originatorCitiesBreakdown = (options) => {
|
|
|
1814
3467
|
scheme: "bearer",
|
|
1815
3468
|
type: "http"
|
|
1816
3469
|
}],
|
|
1817
|
-
url: "/v1/originators/{nmlsId}/breakdowns/
|
|
3470
|
+
url: "/v1/originators/{nmlsId}/breakdowns/states",
|
|
1818
3471
|
...options,
|
|
1819
3472
|
headers: {
|
|
1820
3473
|
"Content-Type": "application/json",
|
|
@@ -1823,7 +3476,7 @@ const originatorCitiesBreakdown = (options) => {
|
|
|
1823
3476
|
});
|
|
1824
3477
|
};
|
|
1825
3478
|
/**
|
|
1826
|
-
*
|
|
3479
|
+
* County (FIPS) volume breakdown across this LO's loans
|
|
1827
3480
|
*/
|
|
1828
3481
|
const originatorCountiesBreakdown = (options) => {
|
|
1829
3482
|
return (options.client ?? client).post({
|
|
@@ -1843,9 +3496,9 @@ const originatorCountiesBreakdown = (options) => {
|
|
|
1843
3496
|
});
|
|
1844
3497
|
};
|
|
1845
3498
|
/**
|
|
1846
|
-
*
|
|
3499
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
1847
3500
|
*/
|
|
1848
|
-
const
|
|
3501
|
+
const originatorOffices = (options) => {
|
|
1849
3502
|
return (options.client ?? client).post({
|
|
1850
3503
|
security: [{
|
|
1851
3504
|
name: "x-api-key",
|
|
@@ -1854,7 +3507,7 @@ const originatorStatesBreakdown = (options) => {
|
|
|
1854
3507
|
scheme: "bearer",
|
|
1855
3508
|
type: "http"
|
|
1856
3509
|
}],
|
|
1857
|
-
url: "/v1/originators/{nmlsId}/breakdowns/
|
|
3510
|
+
url: "/v1/originators/{nmlsId}/breakdowns/offices",
|
|
1858
3511
|
...options,
|
|
1859
3512
|
headers: {
|
|
1860
3513
|
"Content-Type": "application/json",
|
|
@@ -2240,7 +3893,7 @@ const listAgents2 = (options) => {
|
|
|
2240
3893
|
});
|
|
2241
3894
|
};
|
|
2242
3895
|
/**
|
|
2243
|
-
* Get agent by ID
|
|
3896
|
+
* Get agent by ID
|
|
2244
3897
|
*/
|
|
2245
3898
|
const getAgent2 = (options) => {
|
|
2246
3899
|
return (options.client ?? client).get({
|
|
@@ -2750,6 +4403,26 @@ const originatorZipCodes2 = (options) => {
|
|
|
2750
4403
|
});
|
|
2751
4404
|
};
|
|
2752
4405
|
/**
|
|
4406
|
+
* Broker shops this LO originated loans through (name-resolved)
|
|
4407
|
+
*/
|
|
4408
|
+
const originatorBrokers2 = (options) => {
|
|
4409
|
+
return (options.client ?? client).post({
|
|
4410
|
+
security: [{
|
|
4411
|
+
name: "x-api-key",
|
|
4412
|
+
type: "apiKey"
|
|
4413
|
+
}, {
|
|
4414
|
+
scheme: "bearer",
|
|
4415
|
+
type: "http"
|
|
4416
|
+
}],
|
|
4417
|
+
url: "/originators/{nmlsId}/breakdowns/brokers",
|
|
4418
|
+
...options,
|
|
4419
|
+
headers: {
|
|
4420
|
+
"Content-Type": "application/json",
|
|
4421
|
+
...options?.headers
|
|
4422
|
+
}
|
|
4423
|
+
});
|
|
4424
|
+
};
|
|
4425
|
+
/**
|
|
2753
4426
|
* Branch (broker) history for this LO
|
|
2754
4427
|
*/
|
|
2755
4428
|
const originatorBranches2 = (options) => {
|
|
@@ -2770,9 +4443,9 @@ const originatorBranches2 = (options) => {
|
|
|
2770
4443
|
});
|
|
2771
4444
|
};
|
|
2772
4445
|
/**
|
|
2773
|
-
*
|
|
4446
|
+
* City volume breakdown across this LO's loans
|
|
2774
4447
|
*/
|
|
2775
|
-
const
|
|
4448
|
+
const originatorCitiesBreakdown2 = (options) => {
|
|
2776
4449
|
return (options.client ?? client).post({
|
|
2777
4450
|
security: [{
|
|
2778
4451
|
name: "x-api-key",
|
|
@@ -2781,7 +4454,7 @@ const originatorOffices2 = (options) => {
|
|
|
2781
4454
|
scheme: "bearer",
|
|
2782
4455
|
type: "http"
|
|
2783
4456
|
}],
|
|
2784
|
-
url: "/originators/{nmlsId}/breakdowns/
|
|
4457
|
+
url: "/originators/{nmlsId}/breakdowns/cities",
|
|
2785
4458
|
...options,
|
|
2786
4459
|
headers: {
|
|
2787
4460
|
"Content-Type": "application/json",
|
|
@@ -2790,9 +4463,9 @@ const originatorOffices2 = (options) => {
|
|
|
2790
4463
|
});
|
|
2791
4464
|
};
|
|
2792
4465
|
/**
|
|
2793
|
-
*
|
|
4466
|
+
* State volume breakdown across this LO's loans
|
|
2794
4467
|
*/
|
|
2795
|
-
const
|
|
4468
|
+
const originatorStatesBreakdown2 = (options) => {
|
|
2796
4469
|
return (options.client ?? client).post({
|
|
2797
4470
|
security: [{
|
|
2798
4471
|
name: "x-api-key",
|
|
@@ -2801,7 +4474,7 @@ const originatorCitiesBreakdown2 = (options) => {
|
|
|
2801
4474
|
scheme: "bearer",
|
|
2802
4475
|
type: "http"
|
|
2803
4476
|
}],
|
|
2804
|
-
url: "/originators/{nmlsId}/breakdowns/
|
|
4477
|
+
url: "/originators/{nmlsId}/breakdowns/states",
|
|
2805
4478
|
...options,
|
|
2806
4479
|
headers: {
|
|
2807
4480
|
"Content-Type": "application/json",
|
|
@@ -2810,7 +4483,7 @@ const originatorCitiesBreakdown2 = (options) => {
|
|
|
2810
4483
|
});
|
|
2811
4484
|
};
|
|
2812
4485
|
/**
|
|
2813
|
-
*
|
|
4486
|
+
* County (FIPS) volume breakdown across this LO's loans
|
|
2814
4487
|
*/
|
|
2815
4488
|
const originatorCountiesBreakdown2 = (options) => {
|
|
2816
4489
|
return (options.client ?? client).post({
|
|
@@ -2830,9 +4503,9 @@ const originatorCountiesBreakdown2 = (options) => {
|
|
|
2830
4503
|
});
|
|
2831
4504
|
};
|
|
2832
4505
|
/**
|
|
2833
|
-
*
|
|
4506
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
2834
4507
|
*/
|
|
2835
|
-
const
|
|
4508
|
+
const originatorOffices2 = (options) => {
|
|
2836
4509
|
return (options.client ?? client).post({
|
|
2837
4510
|
security: [{
|
|
2838
4511
|
name: "x-api-key",
|
|
@@ -2841,7 +4514,7 @@ const originatorStatesBreakdown2 = (options) => {
|
|
|
2841
4514
|
scheme: "bearer",
|
|
2842
4515
|
type: "http"
|
|
2843
4516
|
}],
|
|
2844
|
-
url: "/originators/{nmlsId}/breakdowns/
|
|
4517
|
+
url: "/originators/{nmlsId}/breakdowns/offices",
|
|
2845
4518
|
...options,
|
|
2846
4519
|
headers: {
|
|
2847
4520
|
"Content-Type": "application/json",
|
|
@@ -2887,4 +4560,4 @@ const getOriginatorsBulkDeliveryJob2 = (options) => {
|
|
|
2887
4560
|
});
|
|
2888
4561
|
};
|
|
2889
4562
|
//#endregion
|
|
2890
|
-
export { client as _heyApiClient,
|
|
4563
|
+
export { client as _heyApiClient, actionCrmCallerId, addCrmContactMethod, addCrmListMember, addCrmListMembersBulk, addCrmNote, addCrmRecord, addCrmRecordsBulk, addWatchedAgent, addWatchedArea, addWatchedDocument, adminGetBulkJob, agentAnalyticsChart, agentAnalyticsChart2, agentAnalyticsSummary, agentAnalyticsSummary2, agentAnalyticsTimeSeries, agentAnalyticsTimeSeries2, agentCities, agentCities2, agentCompanies, agentCompanies2, agentCounties, agentCounties2, agentLenders, agentLenders2, agentOffices, agentOffices2, agentOriginators, agentOriginators2, agentProperties, agentProperties2, agentSales, agentSales2, agentStates, agentStates2, agentZipCodes, agentZipCodes2, applyCrmEnrichment, applyCrmListTemplate, applyCrmMiUpdates, companyAnalyticsChart, companyAnalyticsSummary, companyAnalyticsTimeSeries, companyBranches, companyBrokers, companyCities, companyCounties, companyLenders, companyOffices, companyOriginators, companySponsoredIndividuals, companySponsorshipMovement, companyStates, createClient, createCrmList, createCrmListField, createCrmManualRecord, createCrmMeeting, createCrmRecord, createCrmTask, createCrmTemplate, crmLenderChannels, crmLoLoanMix, crmLoMomentum, crmLoSponsorLocation, crmSimilarOriginators, deleteCrmCallerId, deleteCrmList, deleteCrmListField, deleteCrmMeeting, deleteCrmNote, deleteCrmRecord, deleteCrmRecords, deleteCrmTask, deleteCrmTemplate, dismissCrmMiUpdates, editCrmNote, enrichPropertiesBatch, enrichPropertiesBulk, enrichProperty, filterCrmListMembers, findCrmRecordByNmls, generateCrmRecordDescription, getAgent, getAgent2, getAgentsBulkDeliveryJob, getAgentsBulkDeliveryJob2, getAlertConditions, getAlertUnreadCount, getBranch, getBranchesBulkDeliveryJob, getCompaniesBulkDeliveryJob, getCompany, getCrmActiveCall, getCrmCall, getCrmCallTranscript, getCrmCustomValues, getCrmList, getCrmListShares, getCrmMiUpdates, getCrmOverrides, getCrmProductionEnrichJob, getCrmRecordAccess, getCrmRecordConnections, getCrmRecordProfile, getCrmTemplate, getCrmTemplateShares, getEnrichBulkJob, getLender, getLoan, getLoansBulkDeliveryJob, getOffice, getOriginator, getOriginator2, getOriginatorsBulkDeliveryJob, getOriginatorsBulkDeliveryJob2, getPropertiesBulkDeliveryJob, getProperty, getRealtimeConfig, getSale, getSearchToken, grantCrmListAccess, grantCrmRecordAccess, hangupCrmCall, importCrmRecords, instantSearch, linkCrmRecord, listAgents, listAgents2, listAlertDigests, listAlertLog, listBranches, listCompanies, listCrmActivity, listCrmCallerIds, listCrmCustomFields, listCrmListAssignees, listCrmListFields, listCrmLists, listCrmMeetings, listCrmMembers, listCrmOrgMembers, listCrmRecordShares, listCrmTasks, listCrmTemplates, listCrmWorkspaceTasks, listEnrichments, listLenders, listLoans, listMarket, listOffices, listOriginators, listOriginators2, listProperties, listSales, listWatchedAgents, listWatchedAreas, listWatchedDocuments, loansAnalyticsChart, loansAnalyticsSummary, loansAnalyticsTimeSeries, markAlertDigestRead, markAlertRead, markAllAlertsRead, marketAnalyticsChart, marketAnalyticsSummary, marketAnalyticsTimeSeries, officeAgents, originatorAgents, originatorAgents2, originatorAnalyticsChart, originatorAnalyticsChart2, originatorAnalyticsSummary, originatorAnalyticsSummary2, originatorAnalyticsTimeSeries, originatorAnalyticsTimeSeries2, originatorBranches, originatorBranches2, originatorBrokers, originatorBrokers2, originatorCitiesBreakdown, originatorCitiesBreakdown2, originatorCompanies, originatorCompanies2, originatorCountiesBreakdown, originatorCountiesBreakdown2, originatorLenders, originatorLenders2, originatorLoans, originatorLoans2, originatorOffices, originatorOffices2, originatorStatesBreakdown, originatorStatesBreakdown2, originatorZipCodes, originatorZipCodes2, placeCrmCall, previewAlerts, propertiesAnalyticsChart, propertiesAnalyticsSummary, reconcileCrmMeetings, removeCrmContactMethod, removeCrmListMember, removeWatchedAgent, removeWatchedArea, removeWatchedDocument, requestCrmAccess, retrieveLocation, revokeCrmListAccess, revokeCrmRecordAccess, salesAnalyticsChart, salesAnalyticsSummary, salesAnalyticsTimeSeries, searchCrmEmailRecipients, searchCrmMatchCandidates, searchCrmMentionRecords, searchCrmRecords, sendCrmEmail, setCrmCallAnalysis, setCrmCustomValue, setCrmOverride, setCrmRecordOwner, setDefaultCrmCallerId, shareCrmTemplate, submitAgentsBulkDelivery, submitAgentsBulkDelivery2, submitBranchesBulkDelivery, submitCompaniesBulkDelivery, submitLoansBulkDelivery, submitOriginatorsBulkDelivery, submitOriginatorsBulkDelivery2, submitPropertiesBulkDelivery, suggestLocations, transferCrmListOwnership, unshareCrmTemplate, updateAlertConditions, updateCrmContactMethod, updateCrmList, updateCrmListField, updateCrmMeeting, updateCrmTask, updateCrmTemplate };
|