@model-match/api 3.7.0 → 3.9.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-D8xvXyWF.d.mts} +7715 -2532
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/slim/index.d.mts +422 -73
- package/dist/slim/index.mjs +2010 -321
- package/dist/{src-CwTkvxPw.mjs → src-s-lb9hS_.mjs} +1932 -243
- package/openapi.json +20588 -6765
- 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-s-lb9hS_.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,1737 @@ 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
|
+
* Batched list-membership lookup for many entities
|
|
1426
|
+
*/
|
|
1427
|
+
const listCrmListMemberships = (options) => {
|
|
1428
|
+
return (options.client ?? client).get({
|
|
1429
|
+
security: [{
|
|
1430
|
+
name: "x-api-key",
|
|
1431
|
+
type: "apiKey"
|
|
1432
|
+
}, {
|
|
1433
|
+
scheme: "bearer",
|
|
1434
|
+
type: "http"
|
|
1435
|
+
}],
|
|
1436
|
+
url: "/v1/crm/lists/memberships",
|
|
1437
|
+
...options
|
|
1438
|
+
});
|
|
1439
|
+
};
|
|
1440
|
+
/**
|
|
1441
|
+
* Delete a list
|
|
1442
|
+
*/
|
|
1443
|
+
const deleteCrmList = (options) => {
|
|
1444
|
+
return (options.client ?? client).delete({
|
|
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
|
+
* Get a list with its members
|
|
1458
|
+
*/
|
|
1459
|
+
const getCrmList = (options) => {
|
|
1460
|
+
return (options.client ?? client).get({
|
|
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
|
+
});
|
|
1471
|
+
};
|
|
1472
|
+
/**
|
|
1473
|
+
* Update a list's name, visibility, or whole-org role
|
|
1474
|
+
*/
|
|
1475
|
+
const updateCrmList = (options) => {
|
|
1476
|
+
return (options.client ?? client).patch({
|
|
1477
|
+
security: [{
|
|
1478
|
+
name: "x-api-key",
|
|
1479
|
+
type: "apiKey"
|
|
1480
|
+
}, {
|
|
1481
|
+
scheme: "bearer",
|
|
1482
|
+
type: "http"
|
|
1483
|
+
}],
|
|
1484
|
+
url: "/v1/crm/lists/{id}",
|
|
1485
|
+
...options,
|
|
1486
|
+
headers: {
|
|
1487
|
+
"Content-Type": "application/json",
|
|
1488
|
+
...options?.headers
|
|
1489
|
+
}
|
|
1490
|
+
});
|
|
1491
|
+
};
|
|
1492
|
+
/**
|
|
1493
|
+
* Remove a member from a list
|
|
1494
|
+
*/
|
|
1495
|
+
const removeCrmListMember = (options) => {
|
|
1496
|
+
return (options.client ?? client).delete({
|
|
1497
|
+
security: [{
|
|
1498
|
+
name: "x-api-key",
|
|
1499
|
+
type: "apiKey"
|
|
1500
|
+
}, {
|
|
1501
|
+
scheme: "bearer",
|
|
1502
|
+
type: "http"
|
|
1503
|
+
}],
|
|
1504
|
+
url: "/v1/crm/lists/{id}/members",
|
|
1505
|
+
...options,
|
|
1506
|
+
headers: {
|
|
1507
|
+
"Content-Type": "application/json",
|
|
1508
|
+
...options?.headers
|
|
1509
|
+
}
|
|
1510
|
+
});
|
|
1511
|
+
};
|
|
1512
|
+
/**
|
|
1513
|
+
* Add a member to a list
|
|
1514
|
+
*/
|
|
1515
|
+
const addCrmListMember = (options) => {
|
|
1516
|
+
return (options.client ?? client).post({
|
|
1517
|
+
security: [{
|
|
1518
|
+
name: "x-api-key",
|
|
1519
|
+
type: "apiKey"
|
|
1520
|
+
}, {
|
|
1521
|
+
scheme: "bearer",
|
|
1522
|
+
type: "http"
|
|
1523
|
+
}],
|
|
1524
|
+
url: "/v1/crm/lists/{id}/members",
|
|
1525
|
+
...options,
|
|
1526
|
+
headers: {
|
|
1527
|
+
"Content-Type": "application/json",
|
|
1528
|
+
...options?.headers
|
|
1529
|
+
}
|
|
1530
|
+
});
|
|
1531
|
+
};
|
|
1532
|
+
/**
|
|
1533
|
+
* Filter a list's members by entity attributes (read)
|
|
1534
|
+
*/
|
|
1535
|
+
const filterCrmListMembers = (options) => {
|
|
1536
|
+
return (options.client ?? client).post({
|
|
1537
|
+
security: [{
|
|
1538
|
+
name: "x-api-key",
|
|
1539
|
+
type: "apiKey"
|
|
1540
|
+
}, {
|
|
1541
|
+
scheme: "bearer",
|
|
1542
|
+
type: "http"
|
|
1543
|
+
}],
|
|
1544
|
+
url: "/v1/crm/lists/{id}/filter-members",
|
|
1545
|
+
...options,
|
|
1546
|
+
headers: {
|
|
1547
|
+
"Content-Type": "application/json",
|
|
1548
|
+
...options?.headers
|
|
1549
|
+
}
|
|
1550
|
+
});
|
|
1551
|
+
};
|
|
1552
|
+
/**
|
|
1553
|
+
* Add many members to a list
|
|
1554
|
+
*/
|
|
1555
|
+
const addCrmListMembersBulk = (options) => {
|
|
1556
|
+
return (options.client ?? client).post({
|
|
1557
|
+
security: [{
|
|
1558
|
+
name: "x-api-key",
|
|
1559
|
+
type: "apiKey"
|
|
1560
|
+
}, {
|
|
1561
|
+
scheme: "bearer",
|
|
1562
|
+
type: "http"
|
|
1563
|
+
}],
|
|
1564
|
+
url: "/v1/crm/lists/{id}/members/bulk",
|
|
1565
|
+
...options,
|
|
1566
|
+
headers: {
|
|
1567
|
+
"Content-Type": "application/json",
|
|
1568
|
+
...options?.headers
|
|
1569
|
+
}
|
|
1570
|
+
});
|
|
1571
|
+
};
|
|
1572
|
+
/**
|
|
1573
|
+
* Revoke a member's access to a list
|
|
1574
|
+
*/
|
|
1575
|
+
const revokeCrmListAccess = (options) => {
|
|
1576
|
+
return (options.client ?? client).delete({
|
|
1577
|
+
security: [{
|
|
1578
|
+
name: "x-api-key",
|
|
1579
|
+
type: "apiKey"
|
|
1580
|
+
}, {
|
|
1581
|
+
scheme: "bearer",
|
|
1582
|
+
type: "http"
|
|
1583
|
+
}],
|
|
1584
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1585
|
+
...options,
|
|
1586
|
+
headers: {
|
|
1587
|
+
"Content-Type": "application/json",
|
|
1588
|
+
...options?.headers
|
|
1589
|
+
}
|
|
1590
|
+
});
|
|
1591
|
+
};
|
|
1592
|
+
/**
|
|
1593
|
+
* Get a list's sharing state (+ owner display, canManageSharing)
|
|
1594
|
+
*/
|
|
1595
|
+
const getCrmListShares = (options) => {
|
|
1596
|
+
return (options.client ?? client).get({
|
|
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
|
+
});
|
|
1607
|
+
};
|
|
1608
|
+
/**
|
|
1609
|
+
* Transfer a list's ownership to another member
|
|
1610
|
+
*/
|
|
1611
|
+
const transferCrmListOwnership = (options) => {
|
|
1612
|
+
return (options.client ?? client).patch({
|
|
1613
|
+
security: [{
|
|
1614
|
+
name: "x-api-key",
|
|
1615
|
+
type: "apiKey"
|
|
1616
|
+
}, {
|
|
1617
|
+
scheme: "bearer",
|
|
1618
|
+
type: "http"
|
|
1619
|
+
}],
|
|
1620
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1621
|
+
...options,
|
|
1622
|
+
headers: {
|
|
1623
|
+
"Content-Type": "application/json",
|
|
1624
|
+
...options?.headers
|
|
1625
|
+
}
|
|
1626
|
+
});
|
|
1627
|
+
};
|
|
1628
|
+
/**
|
|
1629
|
+
* Grant a member access to a list
|
|
1630
|
+
*/
|
|
1631
|
+
const grantCrmListAccess = (options) => {
|
|
1632
|
+
return (options.client ?? client).post({
|
|
1633
|
+
security: [{
|
|
1634
|
+
name: "x-api-key",
|
|
1635
|
+
type: "apiKey"
|
|
1636
|
+
}, {
|
|
1637
|
+
scheme: "bearer",
|
|
1638
|
+
type: "http"
|
|
1639
|
+
}],
|
|
1640
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1641
|
+
...options,
|
|
1642
|
+
headers: {
|
|
1643
|
+
"Content-Type": "application/json",
|
|
1644
|
+
...options?.headers
|
|
1645
|
+
}
|
|
1646
|
+
});
|
|
1647
|
+
};
|
|
1648
|
+
/**
|
|
1649
|
+
* Delete a custom field
|
|
1650
|
+
*/
|
|
1651
|
+
const deleteCrmListField = (options) => {
|
|
1652
|
+
return (options.client ?? client).delete({
|
|
1653
|
+
security: [{
|
|
1654
|
+
name: "x-api-key",
|
|
1655
|
+
type: "apiKey"
|
|
1656
|
+
}, {
|
|
1657
|
+
scheme: "bearer",
|
|
1658
|
+
type: "http"
|
|
1659
|
+
}],
|
|
1660
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1661
|
+
...options,
|
|
1662
|
+
headers: {
|
|
1663
|
+
"Content-Type": "application/json",
|
|
1664
|
+
...options?.headers
|
|
1665
|
+
}
|
|
1666
|
+
});
|
|
1667
|
+
};
|
|
1668
|
+
/**
|
|
1669
|
+
* List the custom fields applicable to a list
|
|
1670
|
+
*/
|
|
1671
|
+
const listCrmListFields = (options) => {
|
|
1672
|
+
return (options.client ?? client).get({
|
|
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
|
+
});
|
|
1683
|
+
};
|
|
1684
|
+
/**
|
|
1685
|
+
* Update a custom field's mutable props
|
|
1686
|
+
*/
|
|
1687
|
+
const updateCrmListField = (options) => {
|
|
1688
|
+
return (options.client ?? client).patch({
|
|
1689
|
+
security: [{
|
|
1690
|
+
name: "x-api-key",
|
|
1691
|
+
type: "apiKey"
|
|
1692
|
+
}, {
|
|
1693
|
+
scheme: "bearer",
|
|
1694
|
+
type: "http"
|
|
1695
|
+
}],
|
|
1696
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1697
|
+
...options,
|
|
1698
|
+
headers: {
|
|
1699
|
+
"Content-Type": "application/json",
|
|
1700
|
+
...options?.headers
|
|
1701
|
+
}
|
|
1702
|
+
});
|
|
1703
|
+
};
|
|
1704
|
+
/**
|
|
1705
|
+
* Create a list-scoped custom field
|
|
1706
|
+
*/
|
|
1707
|
+
const createCrmListField = (options) => {
|
|
1708
|
+
return (options.client ?? client).post({
|
|
1709
|
+
security: [{
|
|
1710
|
+
name: "x-api-key",
|
|
1711
|
+
type: "apiKey"
|
|
1712
|
+
}, {
|
|
1713
|
+
scheme: "bearer",
|
|
1714
|
+
type: "http"
|
|
1715
|
+
}],
|
|
1716
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
1717
|
+
...options,
|
|
1718
|
+
headers: {
|
|
1719
|
+
"Content-Type": "application/json",
|
|
1720
|
+
...options?.headers
|
|
1721
|
+
}
|
|
1722
|
+
});
|
|
1723
|
+
};
|
|
1724
|
+
/**
|
|
1725
|
+
* Replay a template's fields onto a list
|
|
1726
|
+
*/
|
|
1727
|
+
const applyCrmListTemplate = (options) => {
|
|
1728
|
+
return (options.client ?? client).post({
|
|
1729
|
+
security: [{
|
|
1730
|
+
name: "x-api-key",
|
|
1731
|
+
type: "apiKey"
|
|
1732
|
+
}, {
|
|
1733
|
+
scheme: "bearer",
|
|
1734
|
+
type: "http"
|
|
1735
|
+
}],
|
|
1736
|
+
url: "/v1/crm/lists/{id}/apply-template",
|
|
1737
|
+
...options,
|
|
1738
|
+
headers: {
|
|
1739
|
+
"Content-Type": "application/json",
|
|
1740
|
+
...options?.headers
|
|
1741
|
+
}
|
|
1742
|
+
});
|
|
1743
|
+
};
|
|
1744
|
+
/**
|
|
1745
|
+
* List the active org's members
|
|
1746
|
+
*/
|
|
1747
|
+
const listCrmOrgMembers = (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/org-members",
|
|
1757
|
+
...options
|
|
1758
|
+
});
|
|
1759
|
+
};
|
|
1760
|
+
/**
|
|
1761
|
+
* List who can be assigned on a list (access-filtered by visibility)
|
|
1762
|
+
*/
|
|
1763
|
+
const listCrmListAssignees = (options) => {
|
|
1764
|
+
return (options.client ?? client).get({
|
|
1765
|
+
security: [{
|
|
1766
|
+
name: "x-api-key",
|
|
1767
|
+
type: "apiKey"
|
|
1768
|
+
}, {
|
|
1769
|
+
scheme: "bearer",
|
|
1770
|
+
type: "http"
|
|
1771
|
+
}],
|
|
1772
|
+
url: "/v1/crm/lists/{id}/assignees",
|
|
1773
|
+
...options
|
|
1774
|
+
});
|
|
1775
|
+
};
|
|
1776
|
+
/**
|
|
1777
|
+
* Soft-delete a note
|
|
1778
|
+
*/
|
|
1779
|
+
const deleteCrmNote = (options) => {
|
|
1780
|
+
return (options?.client ?? client).delete({
|
|
1781
|
+
security: [{
|
|
1782
|
+
name: "x-api-key",
|
|
1783
|
+
type: "apiKey"
|
|
1784
|
+
}, {
|
|
1785
|
+
scheme: "bearer",
|
|
1786
|
+
type: "http"
|
|
1787
|
+
}],
|
|
1788
|
+
url: "/v1/crm/activity",
|
|
1789
|
+
...options,
|
|
1790
|
+
headers: {
|
|
1791
|
+
"Content-Type": "application/json",
|
|
1792
|
+
...options?.headers
|
|
1793
|
+
}
|
|
1794
|
+
});
|
|
1795
|
+
};
|
|
1796
|
+
/**
|
|
1797
|
+
* List a record's activity timeline (newest first)
|
|
1798
|
+
*/
|
|
1799
|
+
const listCrmActivity = (options) => {
|
|
1800
|
+
return (options.client ?? client).get({
|
|
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
|
+
});
|
|
1811
|
+
};
|
|
1812
|
+
/**
|
|
1813
|
+
* Edit a note's body
|
|
1814
|
+
*/
|
|
1815
|
+
const editCrmNote = (options) => {
|
|
1816
|
+
return (options?.client ?? client).patch({
|
|
1817
|
+
security: [{
|
|
1818
|
+
name: "x-api-key",
|
|
1819
|
+
type: "apiKey"
|
|
1820
|
+
}, {
|
|
1821
|
+
scheme: "bearer",
|
|
1822
|
+
type: "http"
|
|
1823
|
+
}],
|
|
1824
|
+
url: "/v1/crm/activity",
|
|
1825
|
+
...options,
|
|
1826
|
+
headers: {
|
|
1827
|
+
"Content-Type": "application/json",
|
|
1828
|
+
...options?.headers
|
|
1829
|
+
}
|
|
1830
|
+
});
|
|
1831
|
+
};
|
|
1832
|
+
/**
|
|
1833
|
+
* Append a note to a record's timeline
|
|
1834
|
+
*/
|
|
1835
|
+
const addCrmNote = (options) => {
|
|
1836
|
+
return (options?.client ?? client).post({
|
|
1837
|
+
security: [{
|
|
1838
|
+
name: "x-api-key",
|
|
1839
|
+
type: "apiKey"
|
|
1840
|
+
}, {
|
|
1841
|
+
scheme: "bearer",
|
|
1842
|
+
type: "http"
|
|
1843
|
+
}],
|
|
1844
|
+
url: "/v1/crm/activity",
|
|
1845
|
+
...options,
|
|
1846
|
+
headers: {
|
|
1847
|
+
"Content-Type": "application/json",
|
|
1848
|
+
...options?.headers
|
|
1849
|
+
}
|
|
1850
|
+
});
|
|
1851
|
+
};
|
|
1852
|
+
/**
|
|
1853
|
+
* Delete a task
|
|
1854
|
+
*/
|
|
1855
|
+
const deleteCrmTask = (options) => {
|
|
1856
|
+
return (options?.client ?? client).delete({
|
|
1857
|
+
security: [{
|
|
1858
|
+
name: "x-api-key",
|
|
1859
|
+
type: "apiKey"
|
|
1860
|
+
}, {
|
|
1861
|
+
scheme: "bearer",
|
|
1862
|
+
type: "http"
|
|
1863
|
+
}],
|
|
1864
|
+
url: "/v1/crm/tasks",
|
|
1865
|
+
...options,
|
|
1866
|
+
headers: {
|
|
1867
|
+
"Content-Type": "application/json",
|
|
1868
|
+
...options?.headers
|
|
1869
|
+
}
|
|
1870
|
+
});
|
|
1871
|
+
};
|
|
1872
|
+
/**
|
|
1873
|
+
* List tasks for a record or for an assignee
|
|
1874
|
+
*/
|
|
1875
|
+
const listCrmTasks = (options) => {
|
|
1876
|
+
return (options?.client ?? client).get({
|
|
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
|
+
});
|
|
1887
|
+
};
|
|
1888
|
+
/**
|
|
1889
|
+
* Edit a task, or transition it to completed/cancelled
|
|
1890
|
+
*/
|
|
1891
|
+
const updateCrmTask = (options) => {
|
|
1892
|
+
return (options?.client ?? client).patch({
|
|
1893
|
+
security: [{
|
|
1894
|
+
name: "x-api-key",
|
|
1895
|
+
type: "apiKey"
|
|
1896
|
+
}, {
|
|
1897
|
+
scheme: "bearer",
|
|
1898
|
+
type: "http"
|
|
1899
|
+
}],
|
|
1900
|
+
url: "/v1/crm/tasks",
|
|
1901
|
+
...options,
|
|
1902
|
+
headers: {
|
|
1903
|
+
"Content-Type": "application/json",
|
|
1904
|
+
...options?.headers
|
|
1905
|
+
}
|
|
1906
|
+
});
|
|
1907
|
+
};
|
|
1908
|
+
/**
|
|
1909
|
+
* Create a task on a record
|
|
1910
|
+
*/
|
|
1911
|
+
const createCrmTask = (options) => {
|
|
1912
|
+
return (options?.client ?? client).post({
|
|
1913
|
+
security: [{
|
|
1914
|
+
name: "x-api-key",
|
|
1915
|
+
type: "apiKey"
|
|
1916
|
+
}, {
|
|
1917
|
+
scheme: "bearer",
|
|
1918
|
+
type: "http"
|
|
1919
|
+
}],
|
|
1920
|
+
url: "/v1/crm/tasks",
|
|
1921
|
+
...options,
|
|
1922
|
+
headers: {
|
|
1923
|
+
"Content-Type": "application/json",
|
|
1924
|
+
...options?.headers
|
|
1925
|
+
}
|
|
1926
|
+
});
|
|
1927
|
+
};
|
|
1928
|
+
/**
|
|
1929
|
+
* Cross-record task inbox for the caller's visible records
|
|
1930
|
+
*/
|
|
1931
|
+
const listCrmWorkspaceTasks = (options) => {
|
|
1932
|
+
return (options?.client ?? client).get({
|
|
1933
|
+
security: [{
|
|
1934
|
+
name: "x-api-key",
|
|
1935
|
+
type: "apiKey"
|
|
1936
|
+
}, {
|
|
1937
|
+
scheme: "bearer",
|
|
1938
|
+
type: "http"
|
|
1939
|
+
}],
|
|
1940
|
+
url: "/v1/crm/tasks/workspace",
|
|
1941
|
+
...options
|
|
1942
|
+
});
|
|
1943
|
+
};
|
|
1944
|
+
/**
|
|
1945
|
+
* Pull calendar changes and apply them (one record, or user-wide)
|
|
1946
|
+
*/
|
|
1947
|
+
const reconcileCrmMeetings = (options) => {
|
|
1948
|
+
return (options?.client ?? client).post({
|
|
1949
|
+
security: [{
|
|
1950
|
+
name: "x-api-key",
|
|
1951
|
+
type: "apiKey"
|
|
1952
|
+
}, {
|
|
1953
|
+
scheme: "bearer",
|
|
1954
|
+
type: "http"
|
|
1955
|
+
}],
|
|
1956
|
+
url: "/v1/crm/meetings/reconcile",
|
|
1957
|
+
...options,
|
|
1958
|
+
headers: {
|
|
1959
|
+
"Content-Type": "application/json",
|
|
1960
|
+
...options?.headers
|
|
1961
|
+
}
|
|
1962
|
+
});
|
|
1963
|
+
};
|
|
1964
|
+
/**
|
|
1965
|
+
* Delete a meeting (and its provider event)
|
|
1966
|
+
*/
|
|
1967
|
+
const deleteCrmMeeting = (options) => {
|
|
1968
|
+
return (options.client ?? client).delete({
|
|
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
|
+
* List meetings for a record
|
|
1982
|
+
*/
|
|
1983
|
+
const listCrmMeetings = (options) => {
|
|
1984
|
+
return (options.client ?? client).get({
|
|
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
|
+
});
|
|
1995
|
+
};
|
|
1996
|
+
/**
|
|
1997
|
+
* Update, cancel, complete, or re-sync a meeting
|
|
1998
|
+
*/
|
|
1999
|
+
const updateCrmMeeting = (options) => {
|
|
2000
|
+
return (options?.client ?? client).patch({
|
|
2001
|
+
security: [{
|
|
2002
|
+
name: "x-api-key",
|
|
2003
|
+
type: "apiKey"
|
|
2004
|
+
}, {
|
|
2005
|
+
scheme: "bearer",
|
|
2006
|
+
type: "http"
|
|
2007
|
+
}],
|
|
2008
|
+
url: "/v1/crm/meetings",
|
|
2009
|
+
...options,
|
|
2010
|
+
headers: {
|
|
2011
|
+
"Content-Type": "application/json",
|
|
2012
|
+
...options?.headers
|
|
2013
|
+
}
|
|
2014
|
+
});
|
|
2015
|
+
};
|
|
2016
|
+
/**
|
|
2017
|
+
* Create a meeting (optionally syncing it to a calendar provider)
|
|
2018
|
+
*/
|
|
2019
|
+
const createCrmMeeting = (options) => {
|
|
2020
|
+
return (options?.client ?? client).post({
|
|
2021
|
+
security: [{
|
|
2022
|
+
name: "x-api-key",
|
|
2023
|
+
type: "apiKey"
|
|
2024
|
+
}, {
|
|
2025
|
+
scheme: "bearer",
|
|
2026
|
+
type: "http"
|
|
2027
|
+
}],
|
|
2028
|
+
url: "/v1/crm/meetings",
|
|
2029
|
+
...options,
|
|
2030
|
+
headers: {
|
|
2031
|
+
"Content-Type": "application/json",
|
|
2032
|
+
...options?.headers
|
|
2033
|
+
}
|
|
2034
|
+
});
|
|
2035
|
+
};
|
|
2036
|
+
/**
|
|
2037
|
+
* Apply the Market-Insights updates the user accepted
|
|
2038
|
+
*/
|
|
2039
|
+
const applyCrmMiUpdates = (options) => {
|
|
2040
|
+
return (options?.client ?? client).post({
|
|
2041
|
+
security: [{
|
|
2042
|
+
name: "x-api-key",
|
|
2043
|
+
type: "apiKey"
|
|
2044
|
+
}, {
|
|
2045
|
+
scheme: "bearer",
|
|
2046
|
+
type: "http"
|
|
2047
|
+
}],
|
|
2048
|
+
url: "/v1/crm/records/apply-mi-updates",
|
|
2049
|
+
...options,
|
|
2050
|
+
headers: {
|
|
2051
|
+
"Content-Type": "application/json",
|
|
2052
|
+
...options?.headers
|
|
2053
|
+
}
|
|
2054
|
+
});
|
|
2055
|
+
};
|
|
2056
|
+
/**
|
|
2057
|
+
* Dismiss surfaced MI updates (remember them in the seen-ledger)
|
|
2058
|
+
*/
|
|
2059
|
+
const dismissCrmMiUpdates = (options) => {
|
|
2060
|
+
return (options?.client ?? client).post({
|
|
2061
|
+
security: [{
|
|
2062
|
+
name: "x-api-key",
|
|
2063
|
+
type: "apiKey"
|
|
2064
|
+
}, {
|
|
2065
|
+
scheme: "bearer",
|
|
2066
|
+
type: "http"
|
|
2067
|
+
}],
|
|
2068
|
+
url: "/v1/crm/records/dismiss-mi-updates",
|
|
2069
|
+
...options,
|
|
2070
|
+
headers: {
|
|
2071
|
+
"Content-Type": "application/json",
|
|
2072
|
+
...options?.headers
|
|
2073
|
+
}
|
|
2074
|
+
});
|
|
2075
|
+
};
|
|
2076
|
+
/**
|
|
2077
|
+
* Compute which Market-Insights fields differ from a record snapshot
|
|
2078
|
+
*/
|
|
2079
|
+
const getCrmMiUpdates = (options) => {
|
|
2080
|
+
return (options?.client ?? client).post({
|
|
2081
|
+
security: [{
|
|
2082
|
+
name: "x-api-key",
|
|
2083
|
+
type: "apiKey"
|
|
2084
|
+
}, {
|
|
2085
|
+
scheme: "bearer",
|
|
2086
|
+
type: "http"
|
|
2087
|
+
}],
|
|
2088
|
+
url: "/v1/crm/records/mi-updates",
|
|
2089
|
+
...options,
|
|
2090
|
+
headers: {
|
|
2091
|
+
"Content-Type": "application/json",
|
|
2092
|
+
...options?.headers
|
|
2093
|
+
}
|
|
2094
|
+
});
|
|
2095
|
+
};
|
|
2096
|
+
/**
|
|
2097
|
+
* Ask the org owner(s) to enable the CRM (membership-gated)
|
|
2098
|
+
*/
|
|
2099
|
+
const requestCrmAccess = (options) => {
|
|
2100
|
+
return (options?.client ?? client).post({
|
|
2101
|
+
security: [{
|
|
2102
|
+
name: "x-api-key",
|
|
2103
|
+
type: "apiKey"
|
|
2104
|
+
}, {
|
|
2105
|
+
scheme: "bearer",
|
|
2106
|
+
type: "http"
|
|
2107
|
+
}],
|
|
2108
|
+
url: "/v1/crm/request-access",
|
|
2109
|
+
...options,
|
|
2110
|
+
headers: {
|
|
2111
|
+
"Content-Type": "application/json",
|
|
2112
|
+
...options?.headers
|
|
2113
|
+
}
|
|
2114
|
+
});
|
|
2115
|
+
};
|
|
2116
|
+
/**
|
|
2117
|
+
* Remove a user-added contact method
|
|
2118
|
+
*/
|
|
2119
|
+
const removeCrmContactMethod = (options) => {
|
|
2120
|
+
return (options?.client ?? client).delete({
|
|
2121
|
+
security: [{
|
|
2122
|
+
name: "x-api-key",
|
|
2123
|
+
type: "apiKey"
|
|
2124
|
+
}, {
|
|
2125
|
+
scheme: "bearer",
|
|
2126
|
+
type: "http"
|
|
2127
|
+
}],
|
|
2128
|
+
url: "/v1/crm/contacts",
|
|
2129
|
+
...options,
|
|
2130
|
+
headers: {
|
|
2131
|
+
"Content-Type": "application/json",
|
|
2132
|
+
...options?.headers
|
|
2133
|
+
}
|
|
2134
|
+
});
|
|
2135
|
+
};
|
|
2136
|
+
/**
|
|
2137
|
+
* Update or suppress a contact method
|
|
2138
|
+
*/
|
|
2139
|
+
const updateCrmContactMethod = (options) => {
|
|
2140
|
+
return (options?.client ?? client).patch({
|
|
2141
|
+
security: [{
|
|
2142
|
+
name: "x-api-key",
|
|
2143
|
+
type: "apiKey"
|
|
2144
|
+
}, {
|
|
2145
|
+
scheme: "bearer",
|
|
2146
|
+
type: "http"
|
|
2147
|
+
}],
|
|
2148
|
+
url: "/v1/crm/contacts",
|
|
2149
|
+
...options,
|
|
2150
|
+
headers: {
|
|
2151
|
+
"Content-Type": "application/json",
|
|
2152
|
+
...options?.headers
|
|
2153
|
+
}
|
|
2154
|
+
});
|
|
2155
|
+
};
|
|
2156
|
+
/**
|
|
2157
|
+
* Add a contact method to a record
|
|
2158
|
+
*/
|
|
2159
|
+
const addCrmContactMethod = (options) => {
|
|
2160
|
+
return (options?.client ?? client).post({
|
|
2161
|
+
security: [{
|
|
2162
|
+
name: "x-api-key",
|
|
2163
|
+
type: "apiKey"
|
|
2164
|
+
}, {
|
|
2165
|
+
scheme: "bearer",
|
|
2166
|
+
type: "http"
|
|
2167
|
+
}],
|
|
2168
|
+
url: "/v1/crm/contacts",
|
|
2169
|
+
...options,
|
|
2170
|
+
headers: {
|
|
2171
|
+
"Content-Type": "application/json",
|
|
2172
|
+
...options?.headers
|
|
2173
|
+
}
|
|
2174
|
+
});
|
|
2175
|
+
};
|
|
2176
|
+
/**
|
|
2177
|
+
* List custom fields applicable to a view
|
|
2178
|
+
*/
|
|
2179
|
+
const listCrmCustomFields = (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/fields",
|
|
2189
|
+
...options
|
|
2190
|
+
});
|
|
2191
|
+
};
|
|
2192
|
+
/**
|
|
2193
|
+
* Get custom-field values for one or many records
|
|
2194
|
+
*/
|
|
2195
|
+
const getCrmCustomValues = (options) => {
|
|
2196
|
+
return (options?.client ?? client).get({
|
|
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
|
+
});
|
|
2207
|
+
};
|
|
2208
|
+
/**
|
|
2209
|
+
* Set a record's value for one custom field
|
|
2210
|
+
*/
|
|
2211
|
+
const setCrmCustomValue = (options) => {
|
|
2212
|
+
return (options?.client ?? client).patch({
|
|
2213
|
+
security: [{
|
|
2214
|
+
name: "x-api-key",
|
|
2215
|
+
type: "apiKey"
|
|
2216
|
+
}, {
|
|
2217
|
+
scheme: "bearer",
|
|
2218
|
+
type: "http"
|
|
2219
|
+
}],
|
|
2220
|
+
url: "/v1/crm/custom-values",
|
|
2221
|
+
...options,
|
|
2222
|
+
headers: {
|
|
2223
|
+
"Content-Type": "application/json",
|
|
2224
|
+
...options?.headers
|
|
2225
|
+
}
|
|
2226
|
+
});
|
|
2227
|
+
};
|
|
2228
|
+
/**
|
|
2229
|
+
* Send an outbound email via the user's connected Gmail or Outlook
|
|
2230
|
+
*/
|
|
2231
|
+
const sendCrmEmail = (options) => {
|
|
2232
|
+
return (options?.client ?? client).post({
|
|
2233
|
+
security: [{
|
|
2234
|
+
name: "x-api-key",
|
|
2235
|
+
type: "apiKey"
|
|
2236
|
+
}, {
|
|
2237
|
+
scheme: "bearer",
|
|
2238
|
+
type: "http"
|
|
2239
|
+
}],
|
|
2240
|
+
url: "/v1/crm/email/send",
|
|
2241
|
+
...options,
|
|
2242
|
+
headers: {
|
|
2243
|
+
"Content-Type": "application/json",
|
|
2244
|
+
...options?.headers
|
|
2245
|
+
}
|
|
2246
|
+
});
|
|
2247
|
+
};
|
|
2248
|
+
/**
|
|
2249
|
+
* List attribute templates the caller can load
|
|
2250
|
+
*/
|
|
2251
|
+
const listCrmTemplates = (options) => {
|
|
2252
|
+
return (options?.client ?? client).get({
|
|
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
|
+
});
|
|
2263
|
+
};
|
|
2264
|
+
/**
|
|
2265
|
+
* Create a template (optionally captured from a list)
|
|
2266
|
+
*/
|
|
2267
|
+
const createCrmTemplate = (options) => {
|
|
2268
|
+
return (options?.client ?? client).post({
|
|
2269
|
+
security: [{
|
|
2270
|
+
name: "x-api-key",
|
|
2271
|
+
type: "apiKey"
|
|
2272
|
+
}, {
|
|
2273
|
+
scheme: "bearer",
|
|
2274
|
+
type: "http"
|
|
2275
|
+
}],
|
|
2276
|
+
url: "/v1/crm/templates",
|
|
2277
|
+
...options,
|
|
2278
|
+
headers: {
|
|
2279
|
+
"Content-Type": "application/json",
|
|
2280
|
+
...options?.headers
|
|
2281
|
+
}
|
|
2282
|
+
});
|
|
2283
|
+
};
|
|
2284
|
+
/**
|
|
2285
|
+
* Delete a template (its fields + shares cascade)
|
|
2286
|
+
*/
|
|
2287
|
+
const deleteCrmTemplate = (options) => {
|
|
2288
|
+
return (options.client ?? client).delete({
|
|
2289
|
+
security: [{
|
|
2290
|
+
name: "x-api-key",
|
|
2291
|
+
type: "apiKey"
|
|
2292
|
+
}, {
|
|
2293
|
+
scheme: "bearer",
|
|
2294
|
+
type: "http"
|
|
2295
|
+
}],
|
|
2296
|
+
url: "/v1/crm/templates/{id}",
|
|
2297
|
+
...options
|
|
2298
|
+
});
|
|
2299
|
+
};
|
|
2300
|
+
/**
|
|
2301
|
+
* Load one template with its fields
|
|
2302
|
+
*/
|
|
2303
|
+
const getCrmTemplate = (options) => {
|
|
2304
|
+
return (options.client ?? client).get({
|
|
2305
|
+
security: [{
|
|
2306
|
+
name: "x-api-key",
|
|
2307
|
+
type: "apiKey"
|
|
2308
|
+
}, {
|
|
2309
|
+
scheme: "bearer",
|
|
2310
|
+
type: "http"
|
|
2311
|
+
}],
|
|
2312
|
+
url: "/v1/crm/templates/{id}",
|
|
726
2313
|
...options
|
|
727
2314
|
});
|
|
728
2315
|
};
|
|
729
2316
|
/**
|
|
730
|
-
*
|
|
2317
|
+
* Rename a template
|
|
731
2318
|
*/
|
|
732
|
-
const
|
|
733
|
-
return (options
|
|
2319
|
+
const updateCrmTemplate = (options) => {
|
|
2320
|
+
return (options.client ?? client).patch({
|
|
734
2321
|
security: [{
|
|
735
2322
|
name: "x-api-key",
|
|
736
2323
|
type: "apiKey"
|
|
@@ -738,15 +2325,19 @@ const getAlertUnreadCount = (options) => {
|
|
|
738
2325
|
scheme: "bearer",
|
|
739
2326
|
type: "http"
|
|
740
2327
|
}],
|
|
741
|
-
url: "/v1/
|
|
742
|
-
...options
|
|
2328
|
+
url: "/v1/crm/templates/{id}",
|
|
2329
|
+
...options,
|
|
2330
|
+
headers: {
|
|
2331
|
+
"Content-Type": "application/json",
|
|
2332
|
+
...options?.headers
|
|
2333
|
+
}
|
|
743
2334
|
});
|
|
744
2335
|
};
|
|
745
2336
|
/**
|
|
746
|
-
*
|
|
2337
|
+
* Revoke a teammate's template grant
|
|
747
2338
|
*/
|
|
748
|
-
const
|
|
749
|
-
return (options
|
|
2339
|
+
const unshareCrmTemplate = (options) => {
|
|
2340
|
+
return (options.client ?? client).delete({
|
|
750
2341
|
security: [{
|
|
751
2342
|
name: "x-api-key",
|
|
752
2343
|
type: "apiKey"
|
|
@@ -754,15 +2345,15 @@ const listAlertDigests = (options) => {
|
|
|
754
2345
|
scheme: "bearer",
|
|
755
2346
|
type: "http"
|
|
756
2347
|
}],
|
|
757
|
-
url: "/v1/
|
|
2348
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
758
2349
|
...options
|
|
759
2350
|
});
|
|
760
2351
|
};
|
|
761
2352
|
/**
|
|
762
|
-
*
|
|
2353
|
+
* A template's share panel (owner display, canManage, grantees)
|
|
763
2354
|
*/
|
|
764
|
-
const
|
|
765
|
-
return (options.client ?? client).
|
|
2355
|
+
const getCrmTemplateShares = (options) => {
|
|
2356
|
+
return (options.client ?? client).get({
|
|
766
2357
|
security: [{
|
|
767
2358
|
name: "x-api-key",
|
|
768
2359
|
type: "apiKey"
|
|
@@ -770,16 +2361,15 @@ const markAlertDigestRead = (options) => {
|
|
|
770
2361
|
scheme: "bearer",
|
|
771
2362
|
type: "http"
|
|
772
2363
|
}],
|
|
773
|
-
url: "/v1/
|
|
2364
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
774
2365
|
...options
|
|
775
2366
|
});
|
|
776
2367
|
};
|
|
777
2368
|
/**
|
|
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.
|
|
2369
|
+
* Grant a teammate load access to a template
|
|
780
2370
|
*/
|
|
781
|
-
const
|
|
782
|
-
return (options
|
|
2371
|
+
const shareCrmTemplate = (options) => {
|
|
2372
|
+
return (options.client ?? client).post({
|
|
783
2373
|
security: [{
|
|
784
2374
|
name: "x-api-key",
|
|
785
2375
|
type: "apiKey"
|
|
@@ -787,7 +2377,7 @@ const previewAlerts = (options) => {
|
|
|
787
2377
|
scheme: "bearer",
|
|
788
2378
|
type: "http"
|
|
789
2379
|
}],
|
|
790
|
-
url: "/v1/
|
|
2380
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
791
2381
|
...options,
|
|
792
2382
|
headers: {
|
|
793
2383
|
"Content-Type": "application/json",
|
|
@@ -796,11 +2386,10 @@ const previewAlerts = (options) => {
|
|
|
796
2386
|
});
|
|
797
2387
|
};
|
|
798
2388
|
/**
|
|
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.
|
|
2389
|
+
* Revoke a user's access to a record
|
|
801
2390
|
*/
|
|
802
|
-
const
|
|
803
|
-
return (options?.client ?? client).
|
|
2391
|
+
const revokeCrmRecordAccess = (options) => {
|
|
2392
|
+
return (options?.client ?? client).delete({
|
|
804
2393
|
security: [{
|
|
805
2394
|
name: "x-api-key",
|
|
806
2395
|
type: "apiKey"
|
|
@@ -808,7 +2397,7 @@ const listBranches = (options) => {
|
|
|
808
2397
|
scheme: "bearer",
|
|
809
2398
|
type: "http"
|
|
810
2399
|
}],
|
|
811
|
-
url: "/v1/
|
|
2400
|
+
url: "/v1/crm/record-shares",
|
|
812
2401
|
...options,
|
|
813
2402
|
headers: {
|
|
814
2403
|
"Content-Type": "application/json",
|
|
@@ -817,10 +2406,9 @@ const listBranches = (options) => {
|
|
|
817
2406
|
});
|
|
818
2407
|
};
|
|
819
2408
|
/**
|
|
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.
|
|
2409
|
+
* List the direct shares on a record (+ display, canManageShares)
|
|
822
2410
|
*/
|
|
823
|
-
const
|
|
2411
|
+
const listCrmRecordShares = (options) => {
|
|
824
2412
|
return (options.client ?? client).get({
|
|
825
2413
|
security: [{
|
|
826
2414
|
name: "x-api-key",
|
|
@@ -829,15 +2417,14 @@ const getBranch = (options) => {
|
|
|
829
2417
|
scheme: "bearer",
|
|
830
2418
|
type: "http"
|
|
831
2419
|
}],
|
|
832
|
-
url: "/v1/
|
|
2420
|
+
url: "/v1/crm/record-shares",
|
|
833
2421
|
...options
|
|
834
2422
|
});
|
|
835
2423
|
};
|
|
836
2424
|
/**
|
|
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.
|
|
2425
|
+
* Grant a user access to a record
|
|
839
2426
|
*/
|
|
840
|
-
const
|
|
2427
|
+
const grantCrmRecordAccess = (options) => {
|
|
841
2428
|
return (options?.client ?? client).post({
|
|
842
2429
|
security: [{
|
|
843
2430
|
name: "x-api-key",
|
|
@@ -846,7 +2433,7 @@ const submitBranchesBulkDelivery = (options) => {
|
|
|
846
2433
|
scheme: "bearer",
|
|
847
2434
|
type: "http"
|
|
848
2435
|
}],
|
|
849
|
-
url: "/v1/
|
|
2436
|
+
url: "/v1/crm/record-shares",
|
|
850
2437
|
...options,
|
|
851
2438
|
headers: {
|
|
852
2439
|
"Content-Type": "application/json",
|
|
@@ -855,9 +2442,9 @@ const submitBranchesBulkDelivery = (options) => {
|
|
|
855
2442
|
});
|
|
856
2443
|
};
|
|
857
2444
|
/**
|
|
858
|
-
*
|
|
2445
|
+
* Who can access a record, and whether the caller may manage shares
|
|
859
2446
|
*/
|
|
860
|
-
const
|
|
2447
|
+
const getCrmRecordAccess = (options) => {
|
|
861
2448
|
return (options.client ?? client).get({
|
|
862
2449
|
security: [{
|
|
863
2450
|
name: "x-api-key",
|
|
@@ -866,15 +2453,30 @@ const getBranchesBulkDeliveryJob = (options) => {
|
|
|
866
2453
|
scheme: "bearer",
|
|
867
2454
|
type: "http"
|
|
868
2455
|
}],
|
|
869
|
-
url: "/v1/
|
|
2456
|
+
url: "/v1/crm/record-access",
|
|
870
2457
|
...options
|
|
871
2458
|
});
|
|
872
2459
|
};
|
|
873
2460
|
/**
|
|
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.)
|
|
2461
|
+
* Typeahead search for email recipients the caller can see
|
|
876
2462
|
*/
|
|
877
|
-
const
|
|
2463
|
+
const searchCrmEmailRecipients = (options) => {
|
|
2464
|
+
return (options.client ?? client).get({
|
|
2465
|
+
security: [{
|
|
2466
|
+
name: "x-api-key",
|
|
2467
|
+
type: "apiKey"
|
|
2468
|
+
}, {
|
|
2469
|
+
scheme: "bearer",
|
|
2470
|
+
type: "http"
|
|
2471
|
+
}],
|
|
2472
|
+
url: "/v1/crm/recipients",
|
|
2473
|
+
...options
|
|
2474
|
+
});
|
|
2475
|
+
};
|
|
2476
|
+
/**
|
|
2477
|
+
* Bulk import records (create or update), optionally into a list
|
|
2478
|
+
*/
|
|
2479
|
+
const importCrmRecords = (options) => {
|
|
878
2480
|
return (options?.client ?? client).post({
|
|
879
2481
|
security: [{
|
|
880
2482
|
name: "x-api-key",
|
|
@@ -883,7 +2485,7 @@ const listCompanies = (options) => {
|
|
|
883
2485
|
scheme: "bearer",
|
|
884
2486
|
type: "http"
|
|
885
2487
|
}],
|
|
886
|
-
url: "/v1/
|
|
2488
|
+
url: "/v1/crm/import",
|
|
887
2489
|
...options,
|
|
888
2490
|
headers: {
|
|
889
2491
|
"Content-Type": "application/json",
|
|
@@ -892,10 +2494,10 @@ const listCompanies = (options) => {
|
|
|
892
2494
|
});
|
|
893
2495
|
};
|
|
894
2496
|
/**
|
|
895
|
-
*
|
|
2497
|
+
* Apply a match to an imported record (link + seed contacts)
|
|
896
2498
|
*/
|
|
897
|
-
const
|
|
898
|
-
return (options
|
|
2499
|
+
const applyCrmEnrichment = (options) => {
|
|
2500
|
+
return (options?.client ?? client).post({
|
|
899
2501
|
security: [{
|
|
900
2502
|
name: "x-api-key",
|
|
901
2503
|
type: "apiKey"
|
|
@@ -903,15 +2505,19 @@ const getCompany = (options) => {
|
|
|
903
2505
|
scheme: "bearer",
|
|
904
2506
|
type: "http"
|
|
905
2507
|
}],
|
|
906
|
-
url: "/v1/
|
|
907
|
-
...options
|
|
2508
|
+
url: "/v1/crm/enrich/apply",
|
|
2509
|
+
...options,
|
|
2510
|
+
headers: {
|
|
2511
|
+
"Content-Type": "application/json",
|
|
2512
|
+
...options?.headers
|
|
2513
|
+
}
|
|
908
2514
|
});
|
|
909
2515
|
};
|
|
910
2516
|
/**
|
|
911
|
-
*
|
|
2517
|
+
* Link a record to a chosen candidate
|
|
912
2518
|
*/
|
|
913
|
-
const
|
|
914
|
-
return (options?.client ?? client).
|
|
2519
|
+
const linkCrmRecord = (options) => {
|
|
2520
|
+
return (options?.client ?? client).patch({
|
|
915
2521
|
security: [{
|
|
916
2522
|
name: "x-api-key",
|
|
917
2523
|
type: "apiKey"
|
|
@@ -919,7 +2525,7 @@ const companyAnalyticsSummary = (options) => {
|
|
|
919
2525
|
scheme: "bearer",
|
|
920
2526
|
type: "http"
|
|
921
2527
|
}],
|
|
922
|
-
url: "/v1/
|
|
2528
|
+
url: "/v1/crm/match",
|
|
923
2529
|
...options,
|
|
924
2530
|
headers: {
|
|
925
2531
|
"Content-Type": "application/json",
|
|
@@ -928,9 +2534,9 @@ const companyAnalyticsSummary = (options) => {
|
|
|
928
2534
|
});
|
|
929
2535
|
};
|
|
930
2536
|
/**
|
|
931
|
-
*
|
|
2537
|
+
* Find candidate entities to link an unmatched record to
|
|
932
2538
|
*/
|
|
933
|
-
const
|
|
2539
|
+
const searchCrmMatchCandidates = (options) => {
|
|
934
2540
|
return (options?.client ?? client).post({
|
|
935
2541
|
security: [{
|
|
936
2542
|
name: "x-api-key",
|
|
@@ -939,7 +2545,7 @@ const companyAnalyticsTimeSeries = (options) => {
|
|
|
939
2545
|
scheme: "bearer",
|
|
940
2546
|
type: "http"
|
|
941
2547
|
}],
|
|
942
|
-
url: "/v1/
|
|
2548
|
+
url: "/v1/crm/match",
|
|
943
2549
|
...options,
|
|
944
2550
|
headers: {
|
|
945
2551
|
"Content-Type": "application/json",
|
|
@@ -948,9 +2554,9 @@ const companyAnalyticsTimeSeries = (options) => {
|
|
|
948
2554
|
});
|
|
949
2555
|
};
|
|
950
2556
|
/**
|
|
951
|
-
*
|
|
2557
|
+
* Recent-vs-prior 3-month closed-loan units for a set of LOs (by NMLS)
|
|
952
2558
|
*/
|
|
953
|
-
const
|
|
2559
|
+
const crmLoMomentum = (options) => {
|
|
954
2560
|
return (options?.client ?? client).post({
|
|
955
2561
|
security: [{
|
|
956
2562
|
name: "x-api-key",
|
|
@@ -959,7 +2565,7 @@ const companyAnalyticsChart = (options) => {
|
|
|
959
2565
|
scheme: "bearer",
|
|
960
2566
|
type: "http"
|
|
961
2567
|
}],
|
|
962
|
-
url: "/v1/
|
|
2568
|
+
url: "/v1/crm/lo-momentum",
|
|
963
2569
|
...options,
|
|
964
2570
|
headers: {
|
|
965
2571
|
"Content-Type": "application/json",
|
|
@@ -968,10 +2574,10 @@ const companyAnalyticsChart = (options) => {
|
|
|
968
2574
|
});
|
|
969
2575
|
};
|
|
970
2576
|
/**
|
|
971
|
-
* Loan
|
|
2577
|
+
* Loan-type mix (percentage + top type) for a single LO (by NMLS)
|
|
972
2578
|
*/
|
|
973
|
-
const
|
|
974
|
-
return (options
|
|
2579
|
+
const crmLoLoanMix = (options) => {
|
|
2580
|
+
return (options?.client ?? client).post({
|
|
975
2581
|
security: [{
|
|
976
2582
|
name: "x-api-key",
|
|
977
2583
|
type: "apiKey"
|
|
@@ -979,7 +2585,7 @@ const companySponsoredIndividuals = (options) => {
|
|
|
979
2585
|
scheme: "bearer",
|
|
980
2586
|
type: "http"
|
|
981
2587
|
}],
|
|
982
|
-
url: "/v1/
|
|
2588
|
+
url: "/v1/crm/lo-loan-mix",
|
|
983
2589
|
...options,
|
|
984
2590
|
headers: {
|
|
985
2591
|
"Content-Type": "application/json",
|
|
@@ -988,10 +2594,10 @@ const companySponsoredIndividuals = (options) => {
|
|
|
988
2594
|
});
|
|
989
2595
|
};
|
|
990
2596
|
/**
|
|
991
|
-
*
|
|
2597
|
+
* Rank an agent's LO partners by product-mix + size similarity to a viewing LO
|
|
992
2598
|
*/
|
|
993
|
-
const
|
|
994
|
-
return (options
|
|
2599
|
+
const crmSimilarOriginators = (options) => {
|
|
2600
|
+
return (options?.client ?? client).post({
|
|
995
2601
|
security: [{
|
|
996
2602
|
name: "x-api-key",
|
|
997
2603
|
type: "apiKey"
|
|
@@ -999,7 +2605,7 @@ const companyBranches = (options) => {
|
|
|
999
2605
|
scheme: "bearer",
|
|
1000
2606
|
type: "http"
|
|
1001
2607
|
}],
|
|
1002
|
-
url: "/v1/
|
|
2608
|
+
url: "/v1/crm/similar-originators",
|
|
1003
2609
|
...options,
|
|
1004
2610
|
headers: {
|
|
1005
2611
|
"Content-Type": "application/json",
|
|
@@ -1008,10 +2614,10 @@ const companyBranches = (options) => {
|
|
|
1008
2614
|
});
|
|
1009
2615
|
};
|
|
1010
2616
|
/**
|
|
1011
|
-
*
|
|
2617
|
+
* Current-sponsor office location + sponsored flag for a set of LOs
|
|
1012
2618
|
*/
|
|
1013
|
-
const
|
|
1014
|
-
return (options
|
|
2619
|
+
const crmLoSponsorLocation = (options) => {
|
|
2620
|
+
return (options?.client ?? client).post({
|
|
1015
2621
|
security: [{
|
|
1016
2622
|
name: "x-api-key",
|
|
1017
2623
|
type: "apiKey"
|
|
@@ -1019,7 +2625,7 @@ const companyOriginators = (options) => {
|
|
|
1019
2625
|
scheme: "bearer",
|
|
1020
2626
|
type: "http"
|
|
1021
2627
|
}],
|
|
1022
|
-
url: "/v1/
|
|
2628
|
+
url: "/v1/crm/lo-sponsor-location",
|
|
1023
2629
|
...options,
|
|
1024
2630
|
headers: {
|
|
1025
2631
|
"Content-Type": "application/json",
|
|
@@ -1028,10 +2634,10 @@ const companyOriginators = (options) => {
|
|
|
1028
2634
|
});
|
|
1029
2635
|
};
|
|
1030
2636
|
/**
|
|
1031
|
-
*
|
|
2637
|
+
* Bank / Credit Union / Broker / Retail channel per LO (by NMLS)
|
|
1032
2638
|
*/
|
|
1033
|
-
const
|
|
1034
|
-
return (options
|
|
2639
|
+
const crmLenderChannels = (options) => {
|
|
2640
|
+
return (options?.client ?? client).post({
|
|
1035
2641
|
security: [{
|
|
1036
2642
|
name: "x-api-key",
|
|
1037
2643
|
type: "apiKey"
|
|
@@ -1039,7 +2645,7 @@ const companyLenders = (options) => {
|
|
|
1039
2645
|
scheme: "bearer",
|
|
1040
2646
|
type: "http"
|
|
1041
2647
|
}],
|
|
1042
|
-
url: "/v1/
|
|
2648
|
+
url: "/v1/crm/lender-channels",
|
|
1043
2649
|
...options,
|
|
1044
2650
|
headers: {
|
|
1045
2651
|
"Content-Type": "application/json",
|
|
@@ -1048,10 +2654,10 @@ const companyLenders = (options) => {
|
|
|
1048
2654
|
});
|
|
1049
2655
|
};
|
|
1050
2656
|
/**
|
|
1051
|
-
*
|
|
2657
|
+
* The current user's still-live call (for reload resume)
|
|
1052
2658
|
*/
|
|
1053
|
-
const
|
|
1054
|
-
return (options
|
|
2659
|
+
const getCrmActiveCall = (options) => {
|
|
2660
|
+
return (options?.client ?? client).get({
|
|
1055
2661
|
security: [{
|
|
1056
2662
|
name: "x-api-key",
|
|
1057
2663
|
type: "apiKey"
|
|
@@ -1059,19 +2665,15 @@ const companyOffices = (options) => {
|
|
|
1059
2665
|
scheme: "bearer",
|
|
1060
2666
|
type: "http"
|
|
1061
2667
|
}],
|
|
1062
|
-
url: "/v1/
|
|
1063
|
-
...options
|
|
1064
|
-
headers: {
|
|
1065
|
-
"Content-Type": "application/json",
|
|
1066
|
-
...options?.headers
|
|
1067
|
-
}
|
|
2668
|
+
url: "/v1/crm/calls/active",
|
|
2669
|
+
...options
|
|
1068
2670
|
});
|
|
1069
2671
|
};
|
|
1070
2672
|
/**
|
|
1071
|
-
*
|
|
2673
|
+
* Persist an AI analysis of a recorded call
|
|
1072
2674
|
*/
|
|
1073
|
-
const
|
|
1074
|
-
return (options
|
|
2675
|
+
const setCrmCallAnalysis = (options) => {
|
|
2676
|
+
return (options?.client ?? client).post({
|
|
1075
2677
|
security: [{
|
|
1076
2678
|
name: "x-api-key",
|
|
1077
2679
|
type: "apiKey"
|
|
@@ -1079,7 +2681,7 @@ const companyCities = (options) => {
|
|
|
1079
2681
|
scheme: "bearer",
|
|
1080
2682
|
type: "http"
|
|
1081
2683
|
}],
|
|
1082
|
-
url: "/v1/
|
|
2684
|
+
url: "/v1/crm/calls/analysis",
|
|
1083
2685
|
...options,
|
|
1084
2686
|
headers: {
|
|
1085
2687
|
"Content-Type": "application/json",
|
|
@@ -1088,10 +2690,10 @@ const companyCities = (options) => {
|
|
|
1088
2690
|
});
|
|
1089
2691
|
};
|
|
1090
2692
|
/**
|
|
1091
|
-
*
|
|
2693
|
+
* Poll a recorded call's transcript (advances the pipeline)
|
|
1092
2694
|
*/
|
|
1093
|
-
const
|
|
1094
|
-
return (options.client ?? client).
|
|
2695
|
+
const getCrmCallTranscript = (options) => {
|
|
2696
|
+
return (options.client ?? client).get({
|
|
1095
2697
|
security: [{
|
|
1096
2698
|
name: "x-api-key",
|
|
1097
2699
|
type: "apiKey"
|
|
@@ -1099,19 +2701,15 @@ const companyStates = (options) => {
|
|
|
1099
2701
|
scheme: "bearer",
|
|
1100
2702
|
type: "http"
|
|
1101
2703
|
}],
|
|
1102
|
-
url: "/v1/
|
|
1103
|
-
...options
|
|
1104
|
-
headers: {
|
|
1105
|
-
"Content-Type": "application/json",
|
|
1106
|
-
...options?.headers
|
|
1107
|
-
}
|
|
2704
|
+
url: "/v1/crm/calls/transcript",
|
|
2705
|
+
...options
|
|
1108
2706
|
});
|
|
1109
2707
|
};
|
|
1110
2708
|
/**
|
|
1111
|
-
*
|
|
2709
|
+
* Remove a caller ID from the registry
|
|
1112
2710
|
*/
|
|
1113
|
-
const
|
|
1114
|
-
return (options.client ?? client).
|
|
2711
|
+
const deleteCrmCallerId = (options) => {
|
|
2712
|
+
return (options.client ?? client).delete({
|
|
1115
2713
|
security: [{
|
|
1116
2714
|
name: "x-api-key",
|
|
1117
2715
|
type: "apiKey"
|
|
@@ -1119,7 +2717,39 @@ const companyCounties = (options) => {
|
|
|
1119
2717
|
scheme: "bearer",
|
|
1120
2718
|
type: "http"
|
|
1121
2719
|
}],
|
|
1122
|
-
url: "/v1/
|
|
2720
|
+
url: "/v1/crm/caller-ids",
|
|
2721
|
+
...options
|
|
2722
|
+
});
|
|
2723
|
+
};
|
|
2724
|
+
/**
|
|
2725
|
+
* List the current user's caller IDs
|
|
2726
|
+
*/
|
|
2727
|
+
const listCrmCallerIds = (options) => {
|
|
2728
|
+
return (options?.client ?? client).get({
|
|
2729
|
+
security: [{
|
|
2730
|
+
name: "x-api-key",
|
|
2731
|
+
type: "apiKey"
|
|
2732
|
+
}, {
|
|
2733
|
+
scheme: "bearer",
|
|
2734
|
+
type: "http"
|
|
2735
|
+
}],
|
|
2736
|
+
url: "/v1/crm/caller-ids",
|
|
2737
|
+
...options
|
|
2738
|
+
});
|
|
2739
|
+
};
|
|
2740
|
+
/**
|
|
2741
|
+
* Make a verified caller ID the default
|
|
2742
|
+
*/
|
|
2743
|
+
const setDefaultCrmCallerId = (options) => {
|
|
2744
|
+
return (options?.client ?? client).patch({
|
|
2745
|
+
security: [{
|
|
2746
|
+
name: "x-api-key",
|
|
2747
|
+
type: "apiKey"
|
|
2748
|
+
}, {
|
|
2749
|
+
scheme: "bearer",
|
|
2750
|
+
type: "http"
|
|
2751
|
+
}],
|
|
2752
|
+
url: "/v1/crm/caller-ids",
|
|
1123
2753
|
...options,
|
|
1124
2754
|
headers: {
|
|
1125
2755
|
"Content-Type": "application/json",
|
|
@@ -1128,10 +2758,10 @@ const companyCounties = (options) => {
|
|
|
1128
2758
|
});
|
|
1129
2759
|
};
|
|
1130
2760
|
/**
|
|
1131
|
-
*
|
|
2761
|
+
* Start caller-ID verification or re-check its outcome
|
|
1132
2762
|
*/
|
|
1133
|
-
const
|
|
1134
|
-
return (options
|
|
2763
|
+
const actionCrmCallerId = (options) => {
|
|
2764
|
+
return (options?.client ?? client).post({
|
|
1135
2765
|
security: [{
|
|
1136
2766
|
name: "x-api-key",
|
|
1137
2767
|
type: "apiKey"
|
|
@@ -1139,7 +2769,7 @@ const companySponsorshipMovement = (options) => {
|
|
|
1139
2769
|
scheme: "bearer",
|
|
1140
2770
|
type: "http"
|
|
1141
2771
|
}],
|
|
1142
|
-
url: "/v1/
|
|
2772
|
+
url: "/v1/crm/caller-ids",
|
|
1143
2773
|
...options,
|
|
1144
2774
|
headers: {
|
|
1145
2775
|
"Content-Type": "application/json",
|
|
@@ -1148,11 +2778,10 @@ const companySponsorshipMovement = (options) => {
|
|
|
1148
2778
|
});
|
|
1149
2779
|
};
|
|
1150
2780
|
/**
|
|
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.
|
|
2781
|
+
* Poll one call's status (syncs + finalizes on terminal)
|
|
1153
2782
|
*/
|
|
1154
|
-
const
|
|
1155
|
-
return (options
|
|
2783
|
+
const getCrmCall = (options) => {
|
|
2784
|
+
return (options.client ?? client).get({
|
|
1156
2785
|
security: [{
|
|
1157
2786
|
name: "x-api-key",
|
|
1158
2787
|
type: "apiKey"
|
|
@@ -1160,7 +2789,23 @@ const submitCompaniesBulkDelivery = (options) => {
|
|
|
1160
2789
|
scheme: "bearer",
|
|
1161
2790
|
type: "http"
|
|
1162
2791
|
}],
|
|
1163
|
-
url: "/v1/
|
|
2792
|
+
url: "/v1/crm/calls",
|
|
2793
|
+
...options
|
|
2794
|
+
});
|
|
2795
|
+
};
|
|
2796
|
+
/**
|
|
2797
|
+
* Hang up an in-flight call
|
|
2798
|
+
*/
|
|
2799
|
+
const hangupCrmCall = (options) => {
|
|
2800
|
+
return (options?.client ?? client).patch({
|
|
2801
|
+
security: [{
|
|
2802
|
+
name: "x-api-key",
|
|
2803
|
+
type: "apiKey"
|
|
2804
|
+
}, {
|
|
2805
|
+
scheme: "bearer",
|
|
2806
|
+
type: "http"
|
|
2807
|
+
}],
|
|
2808
|
+
url: "/v1/crm/calls",
|
|
1164
2809
|
...options,
|
|
1165
2810
|
headers: {
|
|
1166
2811
|
"Content-Type": "application/json",
|
|
@@ -1169,10 +2814,10 @@ const submitCompaniesBulkDelivery = (options) => {
|
|
|
1169
2814
|
});
|
|
1170
2815
|
};
|
|
1171
2816
|
/**
|
|
1172
|
-
*
|
|
2817
|
+
* Place an outbound bridge call
|
|
1173
2818
|
*/
|
|
1174
|
-
const
|
|
1175
|
-
return (options
|
|
2819
|
+
const placeCrmCall = (options) => {
|
|
2820
|
+
return (options?.client ?? client).post({
|
|
1176
2821
|
security: [{
|
|
1177
2822
|
name: "x-api-key",
|
|
1178
2823
|
type: "apiKey"
|
|
@@ -1180,8 +2825,12 @@ const getCompaniesBulkDeliveryJob = (options) => {
|
|
|
1180
2825
|
scheme: "bearer",
|
|
1181
2826
|
type: "http"
|
|
1182
2827
|
}],
|
|
1183
|
-
url: "/v1/
|
|
1184
|
-
...options
|
|
2828
|
+
url: "/v1/crm/calls",
|
|
2829
|
+
...options,
|
|
2830
|
+
headers: {
|
|
2831
|
+
"Content-Type": "application/json",
|
|
2832
|
+
...options?.headers
|
|
2833
|
+
}
|
|
1185
2834
|
});
|
|
1186
2835
|
};
|
|
1187
2836
|
/**
|
|
@@ -1763,6 +3412,26 @@ const originatorZipCodes = (options) => {
|
|
|
1763
3412
|
});
|
|
1764
3413
|
};
|
|
1765
3414
|
/**
|
|
3415
|
+
* Broker shops this LO originated loans through (name-resolved)
|
|
3416
|
+
*/
|
|
3417
|
+
const originatorBrokers = (options) => {
|
|
3418
|
+
return (options.client ?? client).post({
|
|
3419
|
+
security: [{
|
|
3420
|
+
name: "x-api-key",
|
|
3421
|
+
type: "apiKey"
|
|
3422
|
+
}, {
|
|
3423
|
+
scheme: "bearer",
|
|
3424
|
+
type: "http"
|
|
3425
|
+
}],
|
|
3426
|
+
url: "/v1/originators/{nmlsId}/breakdowns/brokers",
|
|
3427
|
+
...options,
|
|
3428
|
+
headers: {
|
|
3429
|
+
"Content-Type": "application/json",
|
|
3430
|
+
...options?.headers
|
|
3431
|
+
}
|
|
3432
|
+
});
|
|
3433
|
+
};
|
|
3434
|
+
/**
|
|
1766
3435
|
* Branch (broker) history for this LO
|
|
1767
3436
|
*/
|
|
1768
3437
|
const originatorBranches = (options) => {
|
|
@@ -1783,9 +3452,9 @@ const originatorBranches = (options) => {
|
|
|
1783
3452
|
});
|
|
1784
3453
|
};
|
|
1785
3454
|
/**
|
|
1786
|
-
*
|
|
3455
|
+
* City volume breakdown across this LO's loans
|
|
1787
3456
|
*/
|
|
1788
|
-
const
|
|
3457
|
+
const originatorCitiesBreakdown = (options) => {
|
|
1789
3458
|
return (options.client ?? client).post({
|
|
1790
3459
|
security: [{
|
|
1791
3460
|
name: "x-api-key",
|
|
@@ -1794,7 +3463,7 @@ const originatorOffices = (options) => {
|
|
|
1794
3463
|
scheme: "bearer",
|
|
1795
3464
|
type: "http"
|
|
1796
3465
|
}],
|
|
1797
|
-
url: "/v1/originators/{nmlsId}/breakdowns/
|
|
3466
|
+
url: "/v1/originators/{nmlsId}/breakdowns/cities",
|
|
1798
3467
|
...options,
|
|
1799
3468
|
headers: {
|
|
1800
3469
|
"Content-Type": "application/json",
|
|
@@ -1803,9 +3472,9 @@ const originatorOffices = (options) => {
|
|
|
1803
3472
|
});
|
|
1804
3473
|
};
|
|
1805
3474
|
/**
|
|
1806
|
-
*
|
|
3475
|
+
* State volume breakdown across this LO's loans
|
|
1807
3476
|
*/
|
|
1808
|
-
const
|
|
3477
|
+
const originatorStatesBreakdown = (options) => {
|
|
1809
3478
|
return (options.client ?? client).post({
|
|
1810
3479
|
security: [{
|
|
1811
3480
|
name: "x-api-key",
|
|
@@ -1814,7 +3483,7 @@ const originatorCitiesBreakdown = (options) => {
|
|
|
1814
3483
|
scheme: "bearer",
|
|
1815
3484
|
type: "http"
|
|
1816
3485
|
}],
|
|
1817
|
-
url: "/v1/originators/{nmlsId}/breakdowns/
|
|
3486
|
+
url: "/v1/originators/{nmlsId}/breakdowns/states",
|
|
1818
3487
|
...options,
|
|
1819
3488
|
headers: {
|
|
1820
3489
|
"Content-Type": "application/json",
|
|
@@ -1823,7 +3492,7 @@ const originatorCitiesBreakdown = (options) => {
|
|
|
1823
3492
|
});
|
|
1824
3493
|
};
|
|
1825
3494
|
/**
|
|
1826
|
-
*
|
|
3495
|
+
* County (FIPS) volume breakdown across this LO's loans
|
|
1827
3496
|
*/
|
|
1828
3497
|
const originatorCountiesBreakdown = (options) => {
|
|
1829
3498
|
return (options.client ?? client).post({
|
|
@@ -1843,9 +3512,9 @@ const originatorCountiesBreakdown = (options) => {
|
|
|
1843
3512
|
});
|
|
1844
3513
|
};
|
|
1845
3514
|
/**
|
|
1846
|
-
*
|
|
3515
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
1847
3516
|
*/
|
|
1848
|
-
const
|
|
3517
|
+
const originatorOffices = (options) => {
|
|
1849
3518
|
return (options.client ?? client).post({
|
|
1850
3519
|
security: [{
|
|
1851
3520
|
name: "x-api-key",
|
|
@@ -1854,7 +3523,7 @@ const originatorStatesBreakdown = (options) => {
|
|
|
1854
3523
|
scheme: "bearer",
|
|
1855
3524
|
type: "http"
|
|
1856
3525
|
}],
|
|
1857
|
-
url: "/v1/originators/{nmlsId}/breakdowns/
|
|
3526
|
+
url: "/v1/originators/{nmlsId}/breakdowns/offices",
|
|
1858
3527
|
...options,
|
|
1859
3528
|
headers: {
|
|
1860
3529
|
"Content-Type": "application/json",
|
|
@@ -2240,7 +3909,7 @@ const listAgents2 = (options) => {
|
|
|
2240
3909
|
});
|
|
2241
3910
|
};
|
|
2242
3911
|
/**
|
|
2243
|
-
* Get agent by ID
|
|
3912
|
+
* Get agent by ID
|
|
2244
3913
|
*/
|
|
2245
3914
|
const getAgent2 = (options) => {
|
|
2246
3915
|
return (options.client ?? client).get({
|
|
@@ -2750,6 +4419,26 @@ const originatorZipCodes2 = (options) => {
|
|
|
2750
4419
|
});
|
|
2751
4420
|
};
|
|
2752
4421
|
/**
|
|
4422
|
+
* Broker shops this LO originated loans through (name-resolved)
|
|
4423
|
+
*/
|
|
4424
|
+
const originatorBrokers2 = (options) => {
|
|
4425
|
+
return (options.client ?? client).post({
|
|
4426
|
+
security: [{
|
|
4427
|
+
name: "x-api-key",
|
|
4428
|
+
type: "apiKey"
|
|
4429
|
+
}, {
|
|
4430
|
+
scheme: "bearer",
|
|
4431
|
+
type: "http"
|
|
4432
|
+
}],
|
|
4433
|
+
url: "/originators/{nmlsId}/breakdowns/brokers",
|
|
4434
|
+
...options,
|
|
4435
|
+
headers: {
|
|
4436
|
+
"Content-Type": "application/json",
|
|
4437
|
+
...options?.headers
|
|
4438
|
+
}
|
|
4439
|
+
});
|
|
4440
|
+
};
|
|
4441
|
+
/**
|
|
2753
4442
|
* Branch (broker) history for this LO
|
|
2754
4443
|
*/
|
|
2755
4444
|
const originatorBranches2 = (options) => {
|
|
@@ -2770,9 +4459,9 @@ const originatorBranches2 = (options) => {
|
|
|
2770
4459
|
});
|
|
2771
4460
|
};
|
|
2772
4461
|
/**
|
|
2773
|
-
*
|
|
4462
|
+
* City volume breakdown across this LO's loans
|
|
2774
4463
|
*/
|
|
2775
|
-
const
|
|
4464
|
+
const originatorCitiesBreakdown2 = (options) => {
|
|
2776
4465
|
return (options.client ?? client).post({
|
|
2777
4466
|
security: [{
|
|
2778
4467
|
name: "x-api-key",
|
|
@@ -2781,7 +4470,7 @@ const originatorOffices2 = (options) => {
|
|
|
2781
4470
|
scheme: "bearer",
|
|
2782
4471
|
type: "http"
|
|
2783
4472
|
}],
|
|
2784
|
-
url: "/originators/{nmlsId}/breakdowns/
|
|
4473
|
+
url: "/originators/{nmlsId}/breakdowns/cities",
|
|
2785
4474
|
...options,
|
|
2786
4475
|
headers: {
|
|
2787
4476
|
"Content-Type": "application/json",
|
|
@@ -2790,9 +4479,9 @@ const originatorOffices2 = (options) => {
|
|
|
2790
4479
|
});
|
|
2791
4480
|
};
|
|
2792
4481
|
/**
|
|
2793
|
-
*
|
|
4482
|
+
* State volume breakdown across this LO's loans
|
|
2794
4483
|
*/
|
|
2795
|
-
const
|
|
4484
|
+
const originatorStatesBreakdown2 = (options) => {
|
|
2796
4485
|
return (options.client ?? client).post({
|
|
2797
4486
|
security: [{
|
|
2798
4487
|
name: "x-api-key",
|
|
@@ -2801,7 +4490,7 @@ const originatorCitiesBreakdown2 = (options) => {
|
|
|
2801
4490
|
scheme: "bearer",
|
|
2802
4491
|
type: "http"
|
|
2803
4492
|
}],
|
|
2804
|
-
url: "/originators/{nmlsId}/breakdowns/
|
|
4493
|
+
url: "/originators/{nmlsId}/breakdowns/states",
|
|
2805
4494
|
...options,
|
|
2806
4495
|
headers: {
|
|
2807
4496
|
"Content-Type": "application/json",
|
|
@@ -2810,7 +4499,7 @@ const originatorCitiesBreakdown2 = (options) => {
|
|
|
2810
4499
|
});
|
|
2811
4500
|
};
|
|
2812
4501
|
/**
|
|
2813
|
-
*
|
|
4502
|
+
* County (FIPS) volume breakdown across this LO's loans
|
|
2814
4503
|
*/
|
|
2815
4504
|
const originatorCountiesBreakdown2 = (options) => {
|
|
2816
4505
|
return (options.client ?? client).post({
|
|
@@ -2830,9 +4519,9 @@ const originatorCountiesBreakdown2 = (options) => {
|
|
|
2830
4519
|
});
|
|
2831
4520
|
};
|
|
2832
4521
|
/**
|
|
2833
|
-
*
|
|
4522
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
2834
4523
|
*/
|
|
2835
|
-
const
|
|
4524
|
+
const originatorOffices2 = (options) => {
|
|
2836
4525
|
return (options.client ?? client).post({
|
|
2837
4526
|
security: [{
|
|
2838
4527
|
name: "x-api-key",
|
|
@@ -2841,7 +4530,7 @@ const originatorStatesBreakdown2 = (options) => {
|
|
|
2841
4530
|
scheme: "bearer",
|
|
2842
4531
|
type: "http"
|
|
2843
4532
|
}],
|
|
2844
|
-
url: "/originators/{nmlsId}/breakdowns/
|
|
4533
|
+
url: "/originators/{nmlsId}/breakdowns/offices",
|
|
2845
4534
|
...options,
|
|
2846
4535
|
headers: {
|
|
2847
4536
|
"Content-Type": "application/json",
|
|
@@ -2887,4 +4576,4 @@ const getOriginatorsBulkDeliveryJob2 = (options) => {
|
|
|
2887
4576
|
});
|
|
2888
4577
|
};
|
|
2889
4578
|
//#endregion
|
|
2890
|
-
export { client as _heyApiClient,
|
|
4579
|
+
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, listCrmListMemberships, 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 };
|