@land-catalyst/batch-data-sdk 1.1.12
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/LICENSE +22 -0
- package/README.md +1032 -0
- package/dist/builders.d.ts +821 -0
- package/dist/builders.js +2622 -0
- package/dist/client.d.ts +435 -0
- package/dist/client.interface.d.ts +210 -0
- package/dist/client.interface.js +2 -0
- package/dist/client.js +757 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.js +19 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +28 -0
- package/dist/logger.interface.d.ts +19 -0
- package/dist/logger.interface.js +47 -0
- package/dist/types.d.ts +1738 -0
- package/dist/types.js +9 -0
- package/package.json +62 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,1738 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BatchData.io API Types
|
|
3
|
+
*
|
|
4
|
+
* Complete TypeScript type definitions for the BatchData Property Subscription API v2
|
|
5
|
+
*
|
|
6
|
+
* API Documentation: https://developer.batchdata.com/docs/batchdata/batchdata-v2/operations/create-a-property-subscription
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* String filter operators for text-based search criteria
|
|
10
|
+
*/
|
|
11
|
+
export interface StringFilter {
|
|
12
|
+
equals?: string;
|
|
13
|
+
contains?: string;
|
|
14
|
+
startsWith?: string;
|
|
15
|
+
endsWith?: string;
|
|
16
|
+
inList?: string[];
|
|
17
|
+
notInList?: string[];
|
|
18
|
+
matches?: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Numeric range filter for numeric search criteria
|
|
22
|
+
*/
|
|
23
|
+
export interface NumericRangeFilter {
|
|
24
|
+
min?: number;
|
|
25
|
+
max?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Date range filter for date-based search criteria
|
|
29
|
+
*/
|
|
30
|
+
export interface DateRangeFilter {
|
|
31
|
+
minDate?: string;
|
|
32
|
+
maxDate?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Geographic point (latitude/longitude)
|
|
36
|
+
*/
|
|
37
|
+
export interface GeoPoint {
|
|
38
|
+
latitude: number;
|
|
39
|
+
longitude: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Geographic distance filter
|
|
43
|
+
*/
|
|
44
|
+
export interface GeoLocationDistance {
|
|
45
|
+
geoPoint: GeoPoint;
|
|
46
|
+
distanceMeters?: string;
|
|
47
|
+
distanceKilometers?: string;
|
|
48
|
+
distanceFeet?: string;
|
|
49
|
+
distanceYards?: string;
|
|
50
|
+
distanceMiles?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Geographic bounding box filter
|
|
54
|
+
*/
|
|
55
|
+
export interface GeoLocationBoundingBox {
|
|
56
|
+
nwGeoPoint: GeoPoint;
|
|
57
|
+
seGeoPoint: GeoPoint;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Geographic polygon filter
|
|
61
|
+
*/
|
|
62
|
+
export interface GeoLocationPolygon {
|
|
63
|
+
geoPoints: GeoPoint[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Address search criteria
|
|
67
|
+
*/
|
|
68
|
+
export interface AddressSearchCriteria {
|
|
69
|
+
street?: StringFilter;
|
|
70
|
+
city?: StringFilter;
|
|
71
|
+
locality?: StringFilter;
|
|
72
|
+
county?: StringFilter;
|
|
73
|
+
countyFipsCode?: StringFilter;
|
|
74
|
+
state?: StringFilter;
|
|
75
|
+
zip?: StringFilter;
|
|
76
|
+
unitType?: StringFilter;
|
|
77
|
+
formattedStreet?: StringFilter;
|
|
78
|
+
streetNoUnit?: StringFilter;
|
|
79
|
+
geoLocationDistance?: GeoLocationDistance;
|
|
80
|
+
geoLocationBoundingBox?: GeoLocationBoundingBox;
|
|
81
|
+
geoLocationPolygon?: GeoLocationPolygon;
|
|
82
|
+
initialGeoStatus?: StringFilter;
|
|
83
|
+
geoStatus?: StringFilter;
|
|
84
|
+
cityState?: StringFilter;
|
|
85
|
+
countyState?: StringFilter;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Assessment search criteria
|
|
89
|
+
*/
|
|
90
|
+
export interface AssessmentSearchCriteria {
|
|
91
|
+
assessmentYear?: NumericRangeFilter;
|
|
92
|
+
totalAssessedValue?: NumericRangeFilter;
|
|
93
|
+
assessedImprovementValue?: NumericRangeFilter;
|
|
94
|
+
assessedLandValue?: NumericRangeFilter;
|
|
95
|
+
marketValueYear?: NumericRangeFilter;
|
|
96
|
+
landMarketValue?: NumericRangeFilter;
|
|
97
|
+
improvementMarketValue?: NumericRangeFilter;
|
|
98
|
+
totalMarketValue?: NumericRangeFilter;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Building search criteria
|
|
102
|
+
*/
|
|
103
|
+
export interface BuildingSearchCriteria {
|
|
104
|
+
airConditioningSource?: StringFilter;
|
|
105
|
+
basementType?: StringFilter;
|
|
106
|
+
totalBuildingAreaSquareFeet?: NumericRangeFilter;
|
|
107
|
+
buildingClass?: StringFilter;
|
|
108
|
+
buildingCondition?: StringFilter;
|
|
109
|
+
buildingQuality?: StringFilter;
|
|
110
|
+
buildingType?: StringFilter;
|
|
111
|
+
driveway?: StringFilter;
|
|
112
|
+
exteriorWalls?: StringFilter;
|
|
113
|
+
floorCover?: StringFilter;
|
|
114
|
+
garageParkingSpaceCount?: NumericRangeFilter;
|
|
115
|
+
garage?: StringFilter;
|
|
116
|
+
heatSource?: StringFilter;
|
|
117
|
+
heatingFuelType?: StringFilter;
|
|
118
|
+
interiorWalls?: StringFilter;
|
|
119
|
+
buildingCount?: NumericRangeFilter;
|
|
120
|
+
bathroomCount?: NumericRangeFilter;
|
|
121
|
+
calculatedBathroomCount?: NumericRangeFilter;
|
|
122
|
+
bedroomCount?: NumericRangeFilter;
|
|
123
|
+
patio?: StringFilter;
|
|
124
|
+
storyCount?: NumericRangeFilter;
|
|
125
|
+
features?: StringFilter;
|
|
126
|
+
residentialUnitCount?: NumericRangeFilter;
|
|
127
|
+
pool?: StringFilter;
|
|
128
|
+
porch?: StringFilter;
|
|
129
|
+
roofCover?: StringFilter;
|
|
130
|
+
roofType?: StringFilter;
|
|
131
|
+
sewer?: StringFilter;
|
|
132
|
+
style?: StringFilter;
|
|
133
|
+
roomCount?: NumericRangeFilter;
|
|
134
|
+
unitCount?: NumericRangeFilter;
|
|
135
|
+
constructionType?: StringFilter;
|
|
136
|
+
waterService?: StringFilter;
|
|
137
|
+
yearBuilt?: NumericRangeFilter;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Comp address search criteria
|
|
141
|
+
*/
|
|
142
|
+
export interface CompAddressSearchCriteria {
|
|
143
|
+
street?: string;
|
|
144
|
+
city?: string;
|
|
145
|
+
state?: string;
|
|
146
|
+
zip?: string;
|
|
147
|
+
hash?: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Demographics search criteria
|
|
151
|
+
*/
|
|
152
|
+
export interface DemographicsSearchCriteria {
|
|
153
|
+
age?: NumericRangeFilter;
|
|
154
|
+
householdSize?: NumericRangeFilter;
|
|
155
|
+
income?: NumericRangeFilter;
|
|
156
|
+
netWorth?: NumericRangeFilter;
|
|
157
|
+
discretionaryIncome?: NumericRangeFilter;
|
|
158
|
+
homeownerRenter?: StringFilter;
|
|
159
|
+
businessOwner?: StringFilter;
|
|
160
|
+
gender?: StringFilter;
|
|
161
|
+
hasChildren?: {
|
|
162
|
+
equals: boolean;
|
|
163
|
+
};
|
|
164
|
+
investments?: StringFilter;
|
|
165
|
+
demographics?: StringFilter;
|
|
166
|
+
religiousAffiliation?: StringFilter;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Foreclosure search criteria
|
|
170
|
+
*/
|
|
171
|
+
export interface ForeclosureSearchCriteria {
|
|
172
|
+
status?: StringFilter;
|
|
173
|
+
recordingDate?: DateRangeFilter;
|
|
174
|
+
auctionDate?: DateRangeFilter;
|
|
175
|
+
releaseDate?: DateRangeFilter;
|
|
176
|
+
auctionMinimumBidAmount?: NumericRangeFilter;
|
|
177
|
+
pastDueAmount?: NumericRangeFilter;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* General property search criteria
|
|
181
|
+
*/
|
|
182
|
+
export interface GeneralSearchCriteria {
|
|
183
|
+
propertyTypeCategory?: StringFilter;
|
|
184
|
+
propertyTypeDetail?: StringFilter;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* IDs search criteria
|
|
188
|
+
*/
|
|
189
|
+
export interface IdsSearchCriteria {
|
|
190
|
+
addressHash?: StringFilter;
|
|
191
|
+
mailingAddressHash?: StringFilter;
|
|
192
|
+
fipsCode?: StringFilter;
|
|
193
|
+
apn?: StringFilter;
|
|
194
|
+
taxId?: StringFilter;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Intel search criteria
|
|
198
|
+
*/
|
|
199
|
+
export interface IntelSearchCriteria {
|
|
200
|
+
lastSoldDate?: DateRangeFilter;
|
|
201
|
+
lastSoldPrice?: NumericRangeFilter;
|
|
202
|
+
salePropensity?: NumericRangeFilter;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Involuntary lien search criteria
|
|
206
|
+
*/
|
|
207
|
+
export interface InvoluntaryLienSearchCriteria {
|
|
208
|
+
lienType?: StringFilter;
|
|
209
|
+
lienTypeCode?: StringFilter;
|
|
210
|
+
documentType?: StringFilter;
|
|
211
|
+
documentTypeCode?: StringFilter;
|
|
212
|
+
recordingDate?: DateRangeFilter;
|
|
213
|
+
filingDate?: DateRangeFilter;
|
|
214
|
+
lienAmount?: NumericRangeFilter;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Legal search criteria
|
|
218
|
+
*/
|
|
219
|
+
export interface LegalSearchCriteria {
|
|
220
|
+
subdivisionName?: StringFilter;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Listing search criteria
|
|
224
|
+
*/
|
|
225
|
+
export interface ListingSearchCriteria {
|
|
226
|
+
description?: StringFilter;
|
|
227
|
+
price?: NumericRangeFilter;
|
|
228
|
+
daysOnMarket?: NumericRangeFilter;
|
|
229
|
+
status?: StringFilter;
|
|
230
|
+
statusCategory?: StringFilter;
|
|
231
|
+
failedListingDate?: DateRangeFilter;
|
|
232
|
+
soldDate?: DateRangeFilter;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Lot search criteria
|
|
236
|
+
*/
|
|
237
|
+
export interface LotSearchCriteria {
|
|
238
|
+
lotSizeAcres?: NumericRangeFilter;
|
|
239
|
+
lotDepthFeet?: NumericRangeFilter;
|
|
240
|
+
lotFrontageFeet?: NumericRangeFilter;
|
|
241
|
+
lotSizeSquareFeet?: NumericRangeFilter;
|
|
242
|
+
zoningCode?: StringFilter;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Open lien search criteria
|
|
246
|
+
*/
|
|
247
|
+
export interface OpenLienSearchCriteria {
|
|
248
|
+
allLoanTypes?: StringFilter;
|
|
249
|
+
juniorLoanTypes?: StringFilter;
|
|
250
|
+
totalOpenLienCount?: NumericRangeFilter;
|
|
251
|
+
totalOpenLienBalance?: NumericRangeFilter;
|
|
252
|
+
firstLoanLtv?: NumericRangeFilter;
|
|
253
|
+
firstLoanInterestRate?: NumericRangeFilter;
|
|
254
|
+
secondLoanInterestRate?: NumericRangeFilter;
|
|
255
|
+
thirdLoanInterestRate?: NumericRangeFilter;
|
|
256
|
+
fourthLoanInterestRate?: NumericRangeFilter;
|
|
257
|
+
firstLoanType?: StringFilter;
|
|
258
|
+
secondLoanType?: StringFilter;
|
|
259
|
+
thirdLoanType?: StringFilter;
|
|
260
|
+
fourthLoanType?: StringFilter;
|
|
261
|
+
firstLoanRecordingDate?: DateRangeFilter;
|
|
262
|
+
lastLoanRecordingDate?: DateRangeFilter;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Owner search criteria
|
|
266
|
+
*/
|
|
267
|
+
export interface OwnerSearchCriteria {
|
|
268
|
+
firstName?: StringFilter;
|
|
269
|
+
lastName?: StringFilter;
|
|
270
|
+
ownerOccupied?: {
|
|
271
|
+
equals: boolean;
|
|
272
|
+
};
|
|
273
|
+
mailingStreet?: StringFilter;
|
|
274
|
+
mailingCity?: StringFilter;
|
|
275
|
+
mailingState?: StringFilter;
|
|
276
|
+
mailingZip?: StringFilter;
|
|
277
|
+
ownerStatusType?: StringFilter;
|
|
278
|
+
lengthOfResidenceMonths?: NumericRangeFilter;
|
|
279
|
+
lengthOfResidenceYears?: NumericRangeFilter;
|
|
280
|
+
ownershipStartDate?: DateRangeFilter;
|
|
281
|
+
mailingAddressHash?: StringFilter;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Permit search criteria
|
|
285
|
+
*/
|
|
286
|
+
export interface PermitSearchCriteria {
|
|
287
|
+
permitCount?: NumericRangeFilter;
|
|
288
|
+
latestDate?: DateRangeFilter;
|
|
289
|
+
earliestDate?: DateRangeFilter;
|
|
290
|
+
totalJobValue?: NumericRangeFilter;
|
|
291
|
+
allTags?: StringFilter;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Property owner profile search criteria
|
|
295
|
+
*/
|
|
296
|
+
export interface PropertyOwnerProfileSearchCriteria {
|
|
297
|
+
propertiesCount?: NumericRangeFilter;
|
|
298
|
+
propertiesTotalEquity?: NumericRangeFilter;
|
|
299
|
+
propertiesTotalEstimatedValue?: NumericRangeFilter;
|
|
300
|
+
mortgagesTotalBalance?: NumericRangeFilter;
|
|
301
|
+
mortgagesCount?: NumericRangeFilter;
|
|
302
|
+
mortgagesAverageBalance?: NumericRangeFilter;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Sale search criteria
|
|
306
|
+
*/
|
|
307
|
+
export interface SaleSearchCriteria {
|
|
308
|
+
lastSalePrice?: NumericRangeFilter;
|
|
309
|
+
lastSaleDate?: DateRangeFilter;
|
|
310
|
+
lastSaleDocumentType?: StringFilter;
|
|
311
|
+
lastSalePricePerSquareFoot?: NumericRangeFilter;
|
|
312
|
+
flipLength?: NumericRangeFilter;
|
|
313
|
+
flipLengthCategory?: NumericRangeFilter;
|
|
314
|
+
flipProfit?: NumericRangeFilter;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Tax search criteria
|
|
318
|
+
*/
|
|
319
|
+
export interface TaxSearchCriteria {
|
|
320
|
+
taxDelinquentYear?: NumericRangeFilter;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Valuation search criteria
|
|
324
|
+
*/
|
|
325
|
+
export interface ValuationSearchCriteria {
|
|
326
|
+
estimatedValue?: NumericRangeFilter;
|
|
327
|
+
ltv?: NumericRangeFilter;
|
|
328
|
+
equityPercent?: NumericRangeFilter;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* OR criteria - allows OR logic for specific fields
|
|
332
|
+
*/
|
|
333
|
+
export interface OrSearchCriteria {
|
|
334
|
+
listing?: {
|
|
335
|
+
status?: StringFilter;
|
|
336
|
+
};
|
|
337
|
+
sale?: {
|
|
338
|
+
lastSaleDate?: DateRangeFilter;
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Valid quickList values (without "not-" prefix)
|
|
343
|
+
* Note: According to API docs, "involuntary-lien" is only listed for quickLists/orQuickLists arrays,
|
|
344
|
+
* but it's included here for consistency. If the API rejects it for quickList, it can be removed.
|
|
345
|
+
*/
|
|
346
|
+
export type QuickListValue = "absentee-owner" | "active-auction" | "active-listing" | "canceled-listing" | "cash-buyer" | "corporate-owned" | "expired-listing" | "failed-listing" | "fix-and-flip" | "free-and-clear" | "for-sale-by-owner" | "has-hoa" | "has-hoa-fees" | "high-equity" | "inherited" | "involuntary-lien" | "in-state-absentee-owner" | "listed-below-market-price" | "low-equity" | "mailing-address-vacant" | "notice-of-default" | "notice-of-lis-pendens" | "notice-of-sale" | "on-market" | "out-of-state-absentee-owner" | "out-of-state-owner" | "owner-occupied" | "pending-listing" | "preforeclosure" | "recently-sold" | "same-property-and-mailing-address" | "tax-default" | "tired-landlord" | "unknown-equity" | "vacant" | "vacant-lot";
|
|
347
|
+
/**
|
|
348
|
+
* QuickList value that can be prefixed with "not-" to exclude
|
|
349
|
+
*/
|
|
350
|
+
export type QuickListValueWithNot = QuickListValue | `not-${QuickListValue}`;
|
|
351
|
+
/**
|
|
352
|
+
* Complete search criteria object
|
|
353
|
+
*/
|
|
354
|
+
export interface SearchCriteria {
|
|
355
|
+
query: string;
|
|
356
|
+
quickList?: QuickListValueWithNot;
|
|
357
|
+
quickLists?: QuickListValueWithNot[];
|
|
358
|
+
orQuickLists?: QuickListValueWithNot[];
|
|
359
|
+
address?: AddressSearchCriteria;
|
|
360
|
+
assessment?: AssessmentSearchCriteria;
|
|
361
|
+
building?: BuildingSearchCriteria;
|
|
362
|
+
compAddress?: CompAddressSearchCriteria;
|
|
363
|
+
demographics?: DemographicsSearchCriteria;
|
|
364
|
+
foreclosure?: ForeclosureSearchCriteria;
|
|
365
|
+
general?: GeneralSearchCriteria;
|
|
366
|
+
ids?: IdsSearchCriteria;
|
|
367
|
+
intel?: IntelSearchCriteria;
|
|
368
|
+
involuntaryLien?: InvoluntaryLienSearchCriteria;
|
|
369
|
+
legal?: LegalSearchCriteria;
|
|
370
|
+
listing?: ListingSearchCriteria;
|
|
371
|
+
lot?: LotSearchCriteria;
|
|
372
|
+
openLien?: OpenLienSearchCriteria;
|
|
373
|
+
owner?: OwnerSearchCriteria;
|
|
374
|
+
permit?: PermitSearchCriteria;
|
|
375
|
+
propertyOwnerProfile?: PropertyOwnerProfileSearchCriteria;
|
|
376
|
+
sale?: SaleSearchCriteria;
|
|
377
|
+
tax?: TaxSearchCriteria;
|
|
378
|
+
valuation?: ValuationSearchCriteria;
|
|
379
|
+
or?: OrSearchCriteria[];
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Delivery configuration for webhook or Kinesis
|
|
383
|
+
*/
|
|
384
|
+
export interface DeliveryConfig {
|
|
385
|
+
type: "webhook" | "kinesis";
|
|
386
|
+
streamName?: string;
|
|
387
|
+
region?: string;
|
|
388
|
+
iamAccessKeyId?: string;
|
|
389
|
+
iamSecretAccessKey?: string;
|
|
390
|
+
url?: string;
|
|
391
|
+
errorUrl?: string;
|
|
392
|
+
headers?: Record<string, string>;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Property subscription request payload
|
|
396
|
+
*/
|
|
397
|
+
export interface PropertySubscriptionRequest {
|
|
398
|
+
searchCriteria: SearchCriteria;
|
|
399
|
+
deliveryConfig: DeliveryConfig;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Property subscription response
|
|
403
|
+
*/
|
|
404
|
+
export interface PropertySubscriptionResponse {
|
|
405
|
+
id: string;
|
|
406
|
+
status: string;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Property subscription detail (returned by GET endpoints)
|
|
410
|
+
*/
|
|
411
|
+
export interface PropertySubscriptionDetail {
|
|
412
|
+
id?: string;
|
|
413
|
+
searchCriteria?: SearchCriteria;
|
|
414
|
+
deliveryConfig?: DeliveryConfig;
|
|
415
|
+
status?: string;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Get property subscriptions response (returns array directly)
|
|
419
|
+
*/
|
|
420
|
+
export type GetPropertySubscriptionsResponse = PropertySubscriptionDetail[];
|
|
421
|
+
/**
|
|
422
|
+
* Get property subscription detail response
|
|
423
|
+
*/
|
|
424
|
+
export interface GetPropertySubscriptionDetailResponse {
|
|
425
|
+
status?: ResponseStatus;
|
|
426
|
+
results?: {
|
|
427
|
+
subscription?: PropertySubscriptionDetail;
|
|
428
|
+
meta?: ResponseMetadata;
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Delete property subscription response
|
|
433
|
+
*/
|
|
434
|
+
export interface DeletePropertySubscriptionResponse {
|
|
435
|
+
status?: ResponseStatus;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Property permit request
|
|
439
|
+
*/
|
|
440
|
+
export interface PropertyPermitRequest {
|
|
441
|
+
request: {
|
|
442
|
+
address?: PropertyLookupRequestAddress;
|
|
443
|
+
hash?: string;
|
|
444
|
+
propertyId?: string;
|
|
445
|
+
apn?: string;
|
|
446
|
+
countyFipsCode?: string;
|
|
447
|
+
allTags?: StringFilter;
|
|
448
|
+
description?: StringFilter;
|
|
449
|
+
endDate?: DateRangeFilter;
|
|
450
|
+
fileDate?: DateRangeFilter;
|
|
451
|
+
finalDate?: DateRangeFilter;
|
|
452
|
+
issueDate?: DateRangeFilter;
|
|
453
|
+
jobValue?: NumericRangeFilter;
|
|
454
|
+
startDate?: DateRangeFilter;
|
|
455
|
+
status?: StringFilter;
|
|
456
|
+
subType?: StringFilter;
|
|
457
|
+
type?: StringFilter;
|
|
458
|
+
};
|
|
459
|
+
options?: {
|
|
460
|
+
skip?: number;
|
|
461
|
+
take?: number;
|
|
462
|
+
sessionId?: string;
|
|
463
|
+
dateFormat?: string;
|
|
464
|
+
showRequests?: boolean;
|
|
465
|
+
showOptions?: boolean;
|
|
466
|
+
showMeta?: boolean;
|
|
467
|
+
sort?: {
|
|
468
|
+
field?: string;
|
|
469
|
+
order?: "asc" | "desc";
|
|
470
|
+
};
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Property permit details
|
|
475
|
+
*/
|
|
476
|
+
export interface PropertyPermitDetails {
|
|
477
|
+
permitNumber?: string;
|
|
478
|
+
type?: string;
|
|
479
|
+
subtype?: string;
|
|
480
|
+
description?: string;
|
|
481
|
+
status?: string;
|
|
482
|
+
issueDate?: string;
|
|
483
|
+
finalDate?: string;
|
|
484
|
+
fileDate?: string;
|
|
485
|
+
startDate?: string;
|
|
486
|
+
endDate?: string;
|
|
487
|
+
jobValue?: number;
|
|
488
|
+
fees?: number;
|
|
489
|
+
jurisdiction?: string;
|
|
490
|
+
applicant?: Record<string, any>;
|
|
491
|
+
allTags?: string[];
|
|
492
|
+
tags?: Record<string, boolean>;
|
|
493
|
+
approvalDuration?: number;
|
|
494
|
+
constructionDuration?: number;
|
|
495
|
+
totalDuration?: number;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Property permit API response
|
|
499
|
+
*/
|
|
500
|
+
export interface PropertyPermitResponse {
|
|
501
|
+
status?: ResponseStatus;
|
|
502
|
+
result?: {
|
|
503
|
+
permits?: PropertyPermitDetails[];
|
|
504
|
+
property?: {
|
|
505
|
+
address?: PropertyAddress;
|
|
506
|
+
id?: string;
|
|
507
|
+
apn?: string;
|
|
508
|
+
countyFipsCode?: string;
|
|
509
|
+
};
|
|
510
|
+
request?: PropertyPermitRequest["request"];
|
|
511
|
+
options?: PropertyPermitRequest["options"];
|
|
512
|
+
meta?: {
|
|
513
|
+
/** Metadata about the results */
|
|
514
|
+
results?: ResultsMetadata;
|
|
515
|
+
apiVersion?: string;
|
|
516
|
+
requestId?: string;
|
|
517
|
+
};
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Property skip trace v3 request item
|
|
522
|
+
*/
|
|
523
|
+
export interface PropertySkipTraceV3RequestItem {
|
|
524
|
+
name?: {
|
|
525
|
+
first?: string;
|
|
526
|
+
last?: string;
|
|
527
|
+
};
|
|
528
|
+
propertyAddress?: PropertyLookupRequestAddress;
|
|
529
|
+
mailingAddress?: PropertyLookupRequestAddress;
|
|
530
|
+
apn?: string;
|
|
531
|
+
countyFipsCode?: string;
|
|
532
|
+
county?: string;
|
|
533
|
+
state?: string;
|
|
534
|
+
requestId?: string;
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Property skip trace v3 options
|
|
538
|
+
*/
|
|
539
|
+
export interface PropertySkipTraceV3Options {
|
|
540
|
+
includeTCPABlacklistedPhones?: boolean;
|
|
541
|
+
webhookUrl?: string;
|
|
542
|
+
errorWebhookUrl?: string;
|
|
543
|
+
dateFormat?: string;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Property skip trace v3 request
|
|
547
|
+
*/
|
|
548
|
+
export interface PropertySkipTraceV3Request {
|
|
549
|
+
requests: PropertySkipTraceV3RequestItem[];
|
|
550
|
+
options?: PropertySkipTraceV3Options;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Property skip trace v3 person
|
|
554
|
+
*/
|
|
555
|
+
export interface PropertySkipTraceV3Person {
|
|
556
|
+
propertyOwner?: boolean;
|
|
557
|
+
name?: {
|
|
558
|
+
first?: string;
|
|
559
|
+
last?: string;
|
|
560
|
+
middle?: string;
|
|
561
|
+
full?: string;
|
|
562
|
+
};
|
|
563
|
+
addresses?: Array<{
|
|
564
|
+
hash?: string;
|
|
565
|
+
addressValidity?: string;
|
|
566
|
+
fullAddress?: string;
|
|
567
|
+
street?: string;
|
|
568
|
+
city?: string;
|
|
569
|
+
county?: string;
|
|
570
|
+
state?: string;
|
|
571
|
+
zip?: string;
|
|
572
|
+
zipPlus4?: string;
|
|
573
|
+
rank?: number;
|
|
574
|
+
propertyMailingAddress?: boolean;
|
|
575
|
+
}>;
|
|
576
|
+
phones?: Array<{
|
|
577
|
+
rank?: number;
|
|
578
|
+
number?: string;
|
|
579
|
+
type?: string;
|
|
580
|
+
carrier?: string;
|
|
581
|
+
tested?: boolean;
|
|
582
|
+
reachable?: boolean;
|
|
583
|
+
dnc?: boolean;
|
|
584
|
+
tcpa?: boolean;
|
|
585
|
+
}>;
|
|
586
|
+
emails?: Array<{
|
|
587
|
+
rank?: number;
|
|
588
|
+
email?: string;
|
|
589
|
+
tested?: boolean;
|
|
590
|
+
}>;
|
|
591
|
+
litigator?: boolean;
|
|
592
|
+
deceased?: boolean;
|
|
593
|
+
dob?: string;
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Property skip trace v3 result item
|
|
597
|
+
*/
|
|
598
|
+
export interface PropertySkipTraceV3ResultItem {
|
|
599
|
+
inputIndex?: number;
|
|
600
|
+
input?: {
|
|
601
|
+
propertyAddress?: PropertyAddress;
|
|
602
|
+
requestId?: string;
|
|
603
|
+
inputIndex?: number;
|
|
604
|
+
inputId?: string;
|
|
605
|
+
name?: {
|
|
606
|
+
first?: string;
|
|
607
|
+
last?: string;
|
|
608
|
+
};
|
|
609
|
+
mailingAddress?: PropertyAddress;
|
|
610
|
+
apn?: string;
|
|
611
|
+
countyFipsCode?: string;
|
|
612
|
+
county?: string;
|
|
613
|
+
state?: string;
|
|
614
|
+
};
|
|
615
|
+
property?: {
|
|
616
|
+
id?: string;
|
|
617
|
+
address?: PropertyAddress;
|
|
618
|
+
mailingAddress?: PropertyAddress;
|
|
619
|
+
owners?: Array<{
|
|
620
|
+
name?: {
|
|
621
|
+
first?: string;
|
|
622
|
+
middle?: string;
|
|
623
|
+
last?: string;
|
|
624
|
+
full?: string;
|
|
625
|
+
};
|
|
626
|
+
}>;
|
|
627
|
+
};
|
|
628
|
+
persons?: PropertySkipTraceV3Person[];
|
|
629
|
+
meta?: {
|
|
630
|
+
matched?: boolean;
|
|
631
|
+
error?: boolean;
|
|
632
|
+
};
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Property skip trace v3 API response
|
|
636
|
+
*/
|
|
637
|
+
export interface PropertySkipTraceV3Response {
|
|
638
|
+
status?: ResponseStatus;
|
|
639
|
+
result?: {
|
|
640
|
+
data?: PropertySkipTraceV3ResultItem[];
|
|
641
|
+
options?: PropertySkipTraceV3Options;
|
|
642
|
+
meta?: {
|
|
643
|
+
apiVersion?: string;
|
|
644
|
+
performance?: PerformanceMetrics;
|
|
645
|
+
results?: {
|
|
646
|
+
requestCount?: number;
|
|
647
|
+
matchCount?: number;
|
|
648
|
+
noMatchCount?: number;
|
|
649
|
+
errorCount?: number;
|
|
650
|
+
};
|
|
651
|
+
requestId?: string;
|
|
652
|
+
};
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* Property skip trace v3 async request
|
|
657
|
+
*/
|
|
658
|
+
export interface PropertySkipTraceV3AsyncRequest {
|
|
659
|
+
requests: PropertySkipTraceV3RequestItem[];
|
|
660
|
+
options?: PropertySkipTraceV3Options;
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Property skip trace v3 async API response
|
|
664
|
+
*/
|
|
665
|
+
export interface PropertySkipTraceV3AsyncResponse {
|
|
666
|
+
status?: ResponseStatus;
|
|
667
|
+
result?: {
|
|
668
|
+
requestId?: string;
|
|
669
|
+
webhookUrl?: string;
|
|
670
|
+
errorWebhookUrl?: string;
|
|
671
|
+
meta?: {
|
|
672
|
+
apiVersion?: string;
|
|
673
|
+
performance?: PerformanceMetrics;
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* Property search preview/estimate response
|
|
679
|
+
* Used to preview how many properties match search criteria before creating a subscription
|
|
680
|
+
*/
|
|
681
|
+
export interface PropertySearchPreviewResponse {
|
|
682
|
+
/**
|
|
683
|
+
* Estimated or exact count of properties matching the search criteria
|
|
684
|
+
*/
|
|
685
|
+
count?: number;
|
|
686
|
+
/**
|
|
687
|
+
* Estimated count (may be approximate)
|
|
688
|
+
*/
|
|
689
|
+
estimatedCount?: number;
|
|
690
|
+
/**
|
|
691
|
+
* Exact count (if available)
|
|
692
|
+
*/
|
|
693
|
+
exactCount?: number;
|
|
694
|
+
/**
|
|
695
|
+
* Whether the count is an estimate or exact
|
|
696
|
+
*/
|
|
697
|
+
isEstimate?: boolean;
|
|
698
|
+
/**
|
|
699
|
+
* Sample properties (if returned)
|
|
700
|
+
*/
|
|
701
|
+
sampleProperties?: Property[];
|
|
702
|
+
/**
|
|
703
|
+
* Additional metadata about the search
|
|
704
|
+
*/
|
|
705
|
+
metadata?: {
|
|
706
|
+
query?: string;
|
|
707
|
+
searchCriteria?: Partial<SearchCriteria>;
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
* Property address information
|
|
712
|
+
*/
|
|
713
|
+
export interface PropertyAddress {
|
|
714
|
+
addressValidity?: string;
|
|
715
|
+
houseNumber?: string;
|
|
716
|
+
street?: string;
|
|
717
|
+
city?: string;
|
|
718
|
+
county?: string;
|
|
719
|
+
state?: string;
|
|
720
|
+
zip?: string;
|
|
721
|
+
zipPlus4?: string;
|
|
722
|
+
latitude?: number;
|
|
723
|
+
longitude?: number;
|
|
724
|
+
countyFipsCode?: string;
|
|
725
|
+
hash?: string;
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Mailing address information
|
|
729
|
+
*/
|
|
730
|
+
export interface MailingAddress {
|
|
731
|
+
street?: string;
|
|
732
|
+
city?: string;
|
|
733
|
+
state?: string;
|
|
734
|
+
zip?: string;
|
|
735
|
+
hash?: string;
|
|
736
|
+
addressValidity?: string;
|
|
737
|
+
county?: string;
|
|
738
|
+
zipPlus4?: string;
|
|
739
|
+
deliveryPointCode?: string;
|
|
740
|
+
dpvMatchCode?: string;
|
|
741
|
+
dpvFootnotes?: string;
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Deed history entry
|
|
745
|
+
*/
|
|
746
|
+
export interface DeedHistoryEntry {
|
|
747
|
+
buyers?: string[];
|
|
748
|
+
sellers?: string[];
|
|
749
|
+
recordingDate?: string;
|
|
750
|
+
saleDate?: string;
|
|
751
|
+
documentNumber?: string;
|
|
752
|
+
documentTypeCode?: string;
|
|
753
|
+
documentType?: string;
|
|
754
|
+
salePrice?: number;
|
|
755
|
+
transactionType?: string;
|
|
756
|
+
transactionTypeCode?: string;
|
|
757
|
+
mailingAddress?: MailingAddress;
|
|
758
|
+
newConstruction?: boolean;
|
|
759
|
+
interFamily?: boolean;
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Demographics information
|
|
763
|
+
*/
|
|
764
|
+
export interface Demographics {
|
|
765
|
+
age?: number;
|
|
766
|
+
householdSize?: number;
|
|
767
|
+
income?: number;
|
|
768
|
+
netWorth?: number;
|
|
769
|
+
discretionaryIncome?: number;
|
|
770
|
+
homeownerRenterCode?: string;
|
|
771
|
+
homeownerRenter?: string;
|
|
772
|
+
genderCode?: string;
|
|
773
|
+
gender?: string;
|
|
774
|
+
maritalStatusCode?: string;
|
|
775
|
+
maritalStatus?: string;
|
|
776
|
+
religious?: boolean;
|
|
777
|
+
religiousAffiliationCode?: string;
|
|
778
|
+
religiousAffiliation?: string;
|
|
779
|
+
individualEducationCode?: string;
|
|
780
|
+
individualEducation?: string;
|
|
781
|
+
individualOccupation?: string;
|
|
782
|
+
individualOccupationCode?: string;
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* Foreclosure information
|
|
786
|
+
*/
|
|
787
|
+
export interface Foreclosure {
|
|
788
|
+
statusCode?: string;
|
|
789
|
+
status?: string;
|
|
790
|
+
recordingDate?: string;
|
|
791
|
+
filingDate?: string;
|
|
792
|
+
documentNumber?: string;
|
|
793
|
+
documentTypeCode?: string;
|
|
794
|
+
documentType?: string;
|
|
795
|
+
releaseDate?: string;
|
|
796
|
+
}
|
|
797
|
+
/**
|
|
798
|
+
* Property IDs
|
|
799
|
+
*/
|
|
800
|
+
export interface PropertyIds {
|
|
801
|
+
apn?: string;
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* Property images
|
|
805
|
+
*/
|
|
806
|
+
export interface PropertyImages {
|
|
807
|
+
imageCount?: number;
|
|
808
|
+
imageUrls?: string[];
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* Intel information
|
|
812
|
+
*/
|
|
813
|
+
export interface Intel {
|
|
814
|
+
salePropensity?: number;
|
|
815
|
+
salePropensityStatus?: string;
|
|
816
|
+
salePropensityCategory?: string;
|
|
817
|
+
}
|
|
818
|
+
/**
|
|
819
|
+
* Tax information entry
|
|
820
|
+
*/
|
|
821
|
+
export interface TaxEntry {
|
|
822
|
+
amount?: number;
|
|
823
|
+
year?: number;
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* Listing information
|
|
827
|
+
*/
|
|
828
|
+
export interface Listing {
|
|
829
|
+
status?: string;
|
|
830
|
+
price?: number;
|
|
831
|
+
rental?: boolean;
|
|
832
|
+
originalListingDate?: string;
|
|
833
|
+
maxListPrice?: number;
|
|
834
|
+
maxListPriceDate?: string;
|
|
835
|
+
minListPrice?: number;
|
|
836
|
+
minListPriceDate?: string;
|
|
837
|
+
soldPrice?: number;
|
|
838
|
+
soldDate?: string;
|
|
839
|
+
failedListingDate?: string;
|
|
840
|
+
bedroomCount?: number;
|
|
841
|
+
bathroomCount?: number;
|
|
842
|
+
totalBuildingAreaSquareFeet?: number;
|
|
843
|
+
lotSizeSquareFeet?: number;
|
|
844
|
+
propertyType?: string;
|
|
845
|
+
yearBuilt?: number;
|
|
846
|
+
appliances?: string[];
|
|
847
|
+
roofTypes?: string[];
|
|
848
|
+
coolingTypes?: string[];
|
|
849
|
+
heatingTypes?: string[];
|
|
850
|
+
newConstruction?: boolean;
|
|
851
|
+
listingUrl?: string;
|
|
852
|
+
livingArea?: number;
|
|
853
|
+
taxes?: TaxEntry[];
|
|
854
|
+
salePriceIsEstimated?: boolean;
|
|
855
|
+
}
|
|
856
|
+
/**
|
|
857
|
+
* Mortgage history entry
|
|
858
|
+
*/
|
|
859
|
+
export interface MortgageHistoryEntry {
|
|
860
|
+
borrowers?: string[];
|
|
861
|
+
saleDate?: string;
|
|
862
|
+
recordingDate?: string;
|
|
863
|
+
dueDate?: string;
|
|
864
|
+
lenderName?: string;
|
|
865
|
+
loanTypeCode?: string;
|
|
866
|
+
loanType?: string;
|
|
867
|
+
loanAmount?: number;
|
|
868
|
+
loanTermMonths?: number;
|
|
869
|
+
interestRate?: number;
|
|
870
|
+
transactionType?: string;
|
|
871
|
+
transactionTypeCode?: string;
|
|
872
|
+
documentDate?: string;
|
|
873
|
+
}
|
|
874
|
+
/**
|
|
875
|
+
* Open lien information
|
|
876
|
+
*/
|
|
877
|
+
export interface OpenLien {
|
|
878
|
+
totalOpenLienCount?: number;
|
|
879
|
+
}
|
|
880
|
+
/**
|
|
881
|
+
* Owner name entry
|
|
882
|
+
*/
|
|
883
|
+
export interface OwnerName {
|
|
884
|
+
last?: string;
|
|
885
|
+
full?: string;
|
|
886
|
+
}
|
|
887
|
+
/**
|
|
888
|
+
* Owner information
|
|
889
|
+
*/
|
|
890
|
+
export interface Owner {
|
|
891
|
+
fullName?: string;
|
|
892
|
+
mailingAddress?: MailingAddress;
|
|
893
|
+
names?: OwnerName[];
|
|
894
|
+
}
|
|
895
|
+
/**
|
|
896
|
+
* Property owner profile
|
|
897
|
+
*/
|
|
898
|
+
export interface PropertyOwnerProfile {
|
|
899
|
+
averageYearBuilt?: number;
|
|
900
|
+
propertiesCount?: number;
|
|
901
|
+
mortgagesTotalBalance?: number;
|
|
902
|
+
mortgagesCount?: number;
|
|
903
|
+
mortgagesAverageBalance?: number;
|
|
904
|
+
}
|
|
905
|
+
/**
|
|
906
|
+
* Quick lists flags
|
|
907
|
+
*/
|
|
908
|
+
export interface QuickLists {
|
|
909
|
+
absenteeOwner?: boolean;
|
|
910
|
+
absenteeOwnerInState?: boolean;
|
|
911
|
+
absenteeOwnerOutOfState?: boolean;
|
|
912
|
+
activeListing?: boolean;
|
|
913
|
+
activeAuction?: boolean;
|
|
914
|
+
cashBuyer?: boolean;
|
|
915
|
+
corporateOwned?: boolean;
|
|
916
|
+
expiredListing?: boolean;
|
|
917
|
+
failedListing?: boolean;
|
|
918
|
+
freeAndClear?: boolean;
|
|
919
|
+
fixAndFlip?: boolean;
|
|
920
|
+
forSaleByOwner?: boolean;
|
|
921
|
+
highEquity?: boolean;
|
|
922
|
+
inherited?: boolean;
|
|
923
|
+
involuntaryLien?: boolean;
|
|
924
|
+
listedBelowMarketPrice?: boolean;
|
|
925
|
+
lowEquity?: boolean;
|
|
926
|
+
mailingAddressVacant?: boolean;
|
|
927
|
+
onMarket?: boolean;
|
|
928
|
+
outOfStateOwner?: boolean;
|
|
929
|
+
ownerOccupied?: boolean;
|
|
930
|
+
pendingListing?: boolean;
|
|
931
|
+
preforeclosure?: boolean;
|
|
932
|
+
recentlySold?: boolean;
|
|
933
|
+
samePropertyAndMailingAddress?: boolean;
|
|
934
|
+
seniorOwner?: boolean;
|
|
935
|
+
taxDefault?: boolean;
|
|
936
|
+
tiredLandlord?: boolean;
|
|
937
|
+
unknownEquity?: boolean;
|
|
938
|
+
vacant?: boolean;
|
|
939
|
+
vacantLot?: boolean;
|
|
940
|
+
hasHoa?: boolean;
|
|
941
|
+
hasHoaFees?: boolean;
|
|
942
|
+
canceledListing?: boolean;
|
|
943
|
+
noticeOfSale?: boolean;
|
|
944
|
+
noticeOfDefault?: boolean;
|
|
945
|
+
noticeOfLisPendens?: boolean;
|
|
946
|
+
}
|
|
947
|
+
/**
|
|
948
|
+
* Prior sale mortgage information
|
|
949
|
+
*/
|
|
950
|
+
export interface PriorSaleMortgage {
|
|
951
|
+
documentNumber?: string;
|
|
952
|
+
pageNumber?: string | null;
|
|
953
|
+
bookNumber?: string | null;
|
|
954
|
+
recordingDate?: string;
|
|
955
|
+
loanAmount?: number;
|
|
956
|
+
loanTypeCode?: string;
|
|
957
|
+
loanType?: string;
|
|
958
|
+
financingTypeCode?: string | null;
|
|
959
|
+
financingType?: string | null;
|
|
960
|
+
interestRate?: number;
|
|
961
|
+
dueDate?: string;
|
|
962
|
+
lenderName?: string;
|
|
963
|
+
loanTerm?: string;
|
|
964
|
+
}
|
|
965
|
+
/**
|
|
966
|
+
* Sale information
|
|
967
|
+
*/
|
|
968
|
+
export interface Sale {
|
|
969
|
+
priorSale?: {
|
|
970
|
+
mortgages?: PriorSaleMortgage[];
|
|
971
|
+
};
|
|
972
|
+
}
|
|
973
|
+
/**
|
|
974
|
+
* Valuation information
|
|
975
|
+
*/
|
|
976
|
+
export interface Valuation {
|
|
977
|
+
estimatedValue?: number;
|
|
978
|
+
priceRangeMin?: number;
|
|
979
|
+
priceRangeMax?: number;
|
|
980
|
+
standardDeviation?: number;
|
|
981
|
+
confidenceScore?: number;
|
|
982
|
+
asOfDate?: string;
|
|
983
|
+
equityCurrentEstimatedBalance?: number;
|
|
984
|
+
ltv?: number;
|
|
985
|
+
equityPercent?: number;
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* Complete property object from search results
|
|
989
|
+
*/
|
|
990
|
+
export interface Property {
|
|
991
|
+
_id?: string;
|
|
992
|
+
address?: PropertyAddress;
|
|
993
|
+
deedHistory?: DeedHistoryEntry[];
|
|
994
|
+
demographics?: Demographics;
|
|
995
|
+
foreclosure?: Foreclosure;
|
|
996
|
+
ids?: PropertyIds;
|
|
997
|
+
images?: PropertyImages;
|
|
998
|
+
intel?: Intel;
|
|
999
|
+
involuntaryLien?: Record<string, never>;
|
|
1000
|
+
listing?: Listing;
|
|
1001
|
+
mls?: Listing;
|
|
1002
|
+
mortgageHistory?: MortgageHistoryEntry[];
|
|
1003
|
+
openLien?: OpenLien;
|
|
1004
|
+
owner?: Owner;
|
|
1005
|
+
permit?: Record<string, never>;
|
|
1006
|
+
propertyOwnerProfile?: PropertyOwnerProfile;
|
|
1007
|
+
quickLists?: QuickLists;
|
|
1008
|
+
sale?: Sale;
|
|
1009
|
+
valuation?: Valuation;
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Response status information
|
|
1013
|
+
*/
|
|
1014
|
+
export interface ResponseStatus {
|
|
1015
|
+
code: number;
|
|
1016
|
+
text: string;
|
|
1017
|
+
}
|
|
1018
|
+
/**
|
|
1019
|
+
* Performance metrics
|
|
1020
|
+
*/
|
|
1021
|
+
export interface PerformanceMetrics {
|
|
1022
|
+
totalRequestTime?: number;
|
|
1023
|
+
startTime?: string;
|
|
1024
|
+
endTime?: string;
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* Results metadata
|
|
1028
|
+
*/
|
|
1029
|
+
export interface ResultsMetadata {
|
|
1030
|
+
/** Number of results returned. This is the number of properties that matched the search criteria and were returned in the response. */
|
|
1031
|
+
resultCount?: number;
|
|
1032
|
+
/** Number of results found. This is the total number of properties that matched the search criteria. */
|
|
1033
|
+
resultsFound?: number;
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* Response metadata
|
|
1037
|
+
*/
|
|
1038
|
+
export interface ResponseMetadata {
|
|
1039
|
+
apiVersion?: string;
|
|
1040
|
+
performance?: PerformanceMetrics;
|
|
1041
|
+
results?: ResultsMetadata;
|
|
1042
|
+
}
|
|
1043
|
+
/**
|
|
1044
|
+
* Property search results
|
|
1045
|
+
* Response model for multiple properties
|
|
1046
|
+
*/
|
|
1047
|
+
export interface PropertySearchResults {
|
|
1048
|
+
/**
|
|
1049
|
+
* An array of objects containing summary information about the property
|
|
1050
|
+
*/
|
|
1051
|
+
quicklistCounts?: QuickLists[];
|
|
1052
|
+
/**
|
|
1053
|
+
* An array of objects containing full property details
|
|
1054
|
+
*/
|
|
1055
|
+
properties?: Property[];
|
|
1056
|
+
/**
|
|
1057
|
+
* Response model for geocoding polygon responses
|
|
1058
|
+
*/
|
|
1059
|
+
areaPolygon?: GeoLocationPolygon;
|
|
1060
|
+
/**
|
|
1061
|
+
* An object containing property search criteria. Multiple search criteria are combined using an AND operation.
|
|
1062
|
+
*/
|
|
1063
|
+
searchCriteria?: SearchCriteria;
|
|
1064
|
+
/**
|
|
1065
|
+
* An object containing the request options
|
|
1066
|
+
*/
|
|
1067
|
+
options?: PropertyLookupOptions;
|
|
1068
|
+
/**
|
|
1069
|
+
* Metadata describing the entire batch
|
|
1070
|
+
*/
|
|
1071
|
+
meta?: ResponseMetadata;
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Property search API response
|
|
1075
|
+
* Response structure from POST /api/v1/property/search
|
|
1076
|
+
*
|
|
1077
|
+
* @see https://developer.batchdata.com/docs/batchdata/batchdata-v1/operations/create-a-property-search
|
|
1078
|
+
*/
|
|
1079
|
+
export interface PropertySearchResponse {
|
|
1080
|
+
status?: ResponseStatus;
|
|
1081
|
+
results?: PropertySearchResults;
|
|
1082
|
+
}
|
|
1083
|
+
/**
|
|
1084
|
+
* Address verification request item
|
|
1085
|
+
*/
|
|
1086
|
+
export interface AddressVerifyRequestItem {
|
|
1087
|
+
street: string;
|
|
1088
|
+
city: string;
|
|
1089
|
+
state: string;
|
|
1090
|
+
zip?: string;
|
|
1091
|
+
requestId?: string | null;
|
|
1092
|
+
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Address verification request options
|
|
1095
|
+
*/
|
|
1096
|
+
export interface AddressVerifyOptions {
|
|
1097
|
+
showRequests?: boolean;
|
|
1098
|
+
}
|
|
1099
|
+
/**
|
|
1100
|
+
* Address verification request
|
|
1101
|
+
*/
|
|
1102
|
+
export interface AddressVerifyRequest {
|
|
1103
|
+
requests: AddressVerifyRequestItem[];
|
|
1104
|
+
options?: AddressVerifyOptions;
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Verified address metadata
|
|
1108
|
+
*/
|
|
1109
|
+
export interface VerifiedAddressMeta {
|
|
1110
|
+
error?: boolean;
|
|
1111
|
+
normalized?: boolean;
|
|
1112
|
+
hashed?: boolean;
|
|
1113
|
+
}
|
|
1114
|
+
/**
|
|
1115
|
+
* Verified address result
|
|
1116
|
+
*/
|
|
1117
|
+
export interface VerifiedAddress {
|
|
1118
|
+
oldHashes?: string[];
|
|
1119
|
+
street?: string;
|
|
1120
|
+
city?: string;
|
|
1121
|
+
cityAlias?: string | null;
|
|
1122
|
+
state?: string;
|
|
1123
|
+
zip?: string;
|
|
1124
|
+
county?: string;
|
|
1125
|
+
hash?: string;
|
|
1126
|
+
latitude?: number;
|
|
1127
|
+
longitude?: number;
|
|
1128
|
+
geoLocation?: [number, number];
|
|
1129
|
+
requestId?: number | string;
|
|
1130
|
+
formattedStreet?: string;
|
|
1131
|
+
streetNoUnit?: string;
|
|
1132
|
+
meta?: VerifiedAddressMeta;
|
|
1133
|
+
houseNumber?: string;
|
|
1134
|
+
zipPlus4?: string;
|
|
1135
|
+
vacant?: string;
|
|
1136
|
+
countyFipsCode?: string;
|
|
1137
|
+
carrierRoute?: string;
|
|
1138
|
+
congressionalDistrict?: string;
|
|
1139
|
+
timeZone?: string;
|
|
1140
|
+
utcOffset?: number;
|
|
1141
|
+
daylightSavingsTime?: boolean;
|
|
1142
|
+
dpvMatchCode?: string;
|
|
1143
|
+
dpvFootnotes?: string;
|
|
1144
|
+
footnotes?: string;
|
|
1145
|
+
}
|
|
1146
|
+
/**
|
|
1147
|
+
* Address verification results metadata
|
|
1148
|
+
*/
|
|
1149
|
+
export interface AddressVerifyResultsMeta {
|
|
1150
|
+
requestCount?: number;
|
|
1151
|
+
normalizedCount?: number;
|
|
1152
|
+
notNormalizedCount?: number;
|
|
1153
|
+
hashedCount?: number;
|
|
1154
|
+
notHashedCount?: number;
|
|
1155
|
+
errorCount?: number;
|
|
1156
|
+
}
|
|
1157
|
+
/**
|
|
1158
|
+
* Address verification response results
|
|
1159
|
+
*/
|
|
1160
|
+
export interface AddressVerifyResults {
|
|
1161
|
+
addresses: VerifiedAddress[];
|
|
1162
|
+
meta?: {
|
|
1163
|
+
apiVersion?: string;
|
|
1164
|
+
results?: AddressVerifyResultsMeta;
|
|
1165
|
+
performance?: PerformanceMetrics;
|
|
1166
|
+
requestId?: string;
|
|
1167
|
+
};
|
|
1168
|
+
}
|
|
1169
|
+
/**
|
|
1170
|
+
* Address verification API response
|
|
1171
|
+
*/
|
|
1172
|
+
export interface AddressVerifyResponse {
|
|
1173
|
+
status?: ResponseStatus;
|
|
1174
|
+
results?: AddressVerifyResults;
|
|
1175
|
+
}
|
|
1176
|
+
/**
|
|
1177
|
+
* Address autocomplete search criteria
|
|
1178
|
+
*/
|
|
1179
|
+
export interface AddressAutocompleteSearchCriteria {
|
|
1180
|
+
query: string;
|
|
1181
|
+
location?: {
|
|
1182
|
+
mode?: string;
|
|
1183
|
+
};
|
|
1184
|
+
}
|
|
1185
|
+
/**
|
|
1186
|
+
* Address autocomplete options
|
|
1187
|
+
*/
|
|
1188
|
+
export interface AddressAutocompleteOptions {
|
|
1189
|
+
skip?: number;
|
|
1190
|
+
take?: number;
|
|
1191
|
+
suggestionTypes?: string[];
|
|
1192
|
+
uspsVerifiedAddresses?: boolean;
|
|
1193
|
+
}
|
|
1194
|
+
/**
|
|
1195
|
+
* Address autocomplete request
|
|
1196
|
+
*/
|
|
1197
|
+
export interface AddressAutocompleteRequest {
|
|
1198
|
+
searchCriteria: AddressAutocompleteSearchCriteria;
|
|
1199
|
+
options?: AddressAutocompleteOptions;
|
|
1200
|
+
}
|
|
1201
|
+
/**
|
|
1202
|
+
* Address autocomplete suggestion
|
|
1203
|
+
*/
|
|
1204
|
+
export interface AddressAutocompleteSuggestion {
|
|
1205
|
+
text?: string;
|
|
1206
|
+
address?: string;
|
|
1207
|
+
city?: string;
|
|
1208
|
+
state?: string;
|
|
1209
|
+
zip?: string;
|
|
1210
|
+
country?: string;
|
|
1211
|
+
}
|
|
1212
|
+
/**
|
|
1213
|
+
* Address autocomplete API response
|
|
1214
|
+
*/
|
|
1215
|
+
export interface AddressAutocompleteResponse {
|
|
1216
|
+
status?: ResponseStatus;
|
|
1217
|
+
result?: {
|
|
1218
|
+
suggestions?: AddressAutocompleteSuggestion[];
|
|
1219
|
+
options?: AddressAutocompleteOptions;
|
|
1220
|
+
meta?: {
|
|
1221
|
+
apiVersion?: string;
|
|
1222
|
+
performance?: PerformanceMetrics;
|
|
1223
|
+
results?: ResultsMetadata;
|
|
1224
|
+
requestId?: string;
|
|
1225
|
+
};
|
|
1226
|
+
};
|
|
1227
|
+
}
|
|
1228
|
+
/**
|
|
1229
|
+
* Address geocode request item
|
|
1230
|
+
*/
|
|
1231
|
+
export interface AddressGeocodeRequestItem {
|
|
1232
|
+
address: string;
|
|
1233
|
+
requestId?: string;
|
|
1234
|
+
}
|
|
1235
|
+
/**
|
|
1236
|
+
* Address geocode options
|
|
1237
|
+
*/
|
|
1238
|
+
export interface AddressGeocodeOptions {
|
|
1239
|
+
showRequests?: boolean;
|
|
1240
|
+
}
|
|
1241
|
+
/**
|
|
1242
|
+
* Address geocode request
|
|
1243
|
+
*/
|
|
1244
|
+
export interface AddressGeocodeRequest {
|
|
1245
|
+
requests: AddressGeocodeRequestItem[];
|
|
1246
|
+
options?: AddressGeocodeOptions;
|
|
1247
|
+
}
|
|
1248
|
+
/**
|
|
1249
|
+
* Geocoded address result
|
|
1250
|
+
*/
|
|
1251
|
+
export interface GeocodedAddress {
|
|
1252
|
+
latitude?: number;
|
|
1253
|
+
longitude?: number;
|
|
1254
|
+
geoLocation?: [number, number];
|
|
1255
|
+
formattedAddress?: string;
|
|
1256
|
+
street?: string;
|
|
1257
|
+
city?: string;
|
|
1258
|
+
state?: string;
|
|
1259
|
+
zip?: string;
|
|
1260
|
+
country?: string;
|
|
1261
|
+
accuracy?: string;
|
|
1262
|
+
}
|
|
1263
|
+
/**
|
|
1264
|
+
* Address geocode API response
|
|
1265
|
+
*/
|
|
1266
|
+
export interface AddressGeocodeResponse {
|
|
1267
|
+
status?: ResponseStatus;
|
|
1268
|
+
result?: {
|
|
1269
|
+
addresses?: GeocodedAddress[];
|
|
1270
|
+
meta?: {
|
|
1271
|
+
apiVersion?: string;
|
|
1272
|
+
performance?: PerformanceMetrics;
|
|
1273
|
+
requestCount?: number;
|
|
1274
|
+
matchCount?: number;
|
|
1275
|
+
errorCount?: number;
|
|
1276
|
+
noMatchCount?: number;
|
|
1277
|
+
requestId?: string;
|
|
1278
|
+
};
|
|
1279
|
+
};
|
|
1280
|
+
}
|
|
1281
|
+
/**
|
|
1282
|
+
* Address reverse geocode request location
|
|
1283
|
+
*/
|
|
1284
|
+
export interface AddressReverseGeocodeRequestLocation {
|
|
1285
|
+
latitude: number;
|
|
1286
|
+
longitude: number;
|
|
1287
|
+
}
|
|
1288
|
+
/**
|
|
1289
|
+
* Address reverse geocode options
|
|
1290
|
+
*/
|
|
1291
|
+
export interface AddressReverseGeocodeOptions {
|
|
1292
|
+
showPropertyOnly?: boolean;
|
|
1293
|
+
showRequests?: boolean;
|
|
1294
|
+
}
|
|
1295
|
+
/**
|
|
1296
|
+
* Address reverse geocode request
|
|
1297
|
+
*/
|
|
1298
|
+
export interface AddressReverseGeocodeRequest {
|
|
1299
|
+
request: AddressReverseGeocodeRequestLocation;
|
|
1300
|
+
options?: AddressReverseGeocodeOptions;
|
|
1301
|
+
}
|
|
1302
|
+
/**
|
|
1303
|
+
* Reverse geocoded address components
|
|
1304
|
+
*/
|
|
1305
|
+
export interface ReverseGeocodedComponents {
|
|
1306
|
+
street?: string;
|
|
1307
|
+
city?: string;
|
|
1308
|
+
state?: string;
|
|
1309
|
+
country?: string;
|
|
1310
|
+
postal_code?: string;
|
|
1311
|
+
county?: string;
|
|
1312
|
+
}
|
|
1313
|
+
/**
|
|
1314
|
+
* Reverse geocoded address result
|
|
1315
|
+
*/
|
|
1316
|
+
export interface ReverseGeocodedAddress {
|
|
1317
|
+
street?: string;
|
|
1318
|
+
city?: string;
|
|
1319
|
+
state?: string;
|
|
1320
|
+
zip?: string;
|
|
1321
|
+
streetNoUnit?: string;
|
|
1322
|
+
formattedStreet?: string;
|
|
1323
|
+
latitude?: number;
|
|
1324
|
+
longitude?: number;
|
|
1325
|
+
geoLocation?: [number, number];
|
|
1326
|
+
types?: string[];
|
|
1327
|
+
meta?: {
|
|
1328
|
+
error?: boolean;
|
|
1329
|
+
};
|
|
1330
|
+
geoStatus?: string | null;
|
|
1331
|
+
address?: string;
|
|
1332
|
+
components?: ReverseGeocodedComponents;
|
|
1333
|
+
}
|
|
1334
|
+
/**
|
|
1335
|
+
* Address reverse geocode API response
|
|
1336
|
+
*/
|
|
1337
|
+
export interface AddressReverseGeocodeResponse {
|
|
1338
|
+
status?: ResponseStatus;
|
|
1339
|
+
result?: {
|
|
1340
|
+
addresses?: ReverseGeocodedAddress[];
|
|
1341
|
+
meta?: {
|
|
1342
|
+
apiVersion?: string;
|
|
1343
|
+
performance?: PerformanceMetrics;
|
|
1344
|
+
requestId?: string;
|
|
1345
|
+
};
|
|
1346
|
+
addressMeta?: {
|
|
1347
|
+
error?: boolean;
|
|
1348
|
+
};
|
|
1349
|
+
request?: AddressReverseGeocodeRequestLocation;
|
|
1350
|
+
};
|
|
1351
|
+
}
|
|
1352
|
+
/**
|
|
1353
|
+
* Property lookup request item address
|
|
1354
|
+
*/
|
|
1355
|
+
export interface PropertyLookupRequestAddress {
|
|
1356
|
+
street?: string;
|
|
1357
|
+
city?: string;
|
|
1358
|
+
state?: string;
|
|
1359
|
+
zip?: string;
|
|
1360
|
+
county?: string;
|
|
1361
|
+
}
|
|
1362
|
+
/**
|
|
1363
|
+
* Property lookup request item
|
|
1364
|
+
*/
|
|
1365
|
+
export interface PropertyLookupRequestItem {
|
|
1366
|
+
address?: PropertyLookupRequestAddress;
|
|
1367
|
+
propertyId?: string;
|
|
1368
|
+
hash?: string;
|
|
1369
|
+
apn?: string;
|
|
1370
|
+
countyFipsCode?: string;
|
|
1371
|
+
requestId?: string;
|
|
1372
|
+
}
|
|
1373
|
+
/**
|
|
1374
|
+
* Property lookup options (shared with property search)
|
|
1375
|
+
*/
|
|
1376
|
+
export interface PropertyLookupOptions {
|
|
1377
|
+
skip?: number;
|
|
1378
|
+
take?: number;
|
|
1379
|
+
showRequests?: boolean;
|
|
1380
|
+
areaPolygon?: boolean;
|
|
1381
|
+
quicklistCounts?: boolean;
|
|
1382
|
+
useDistance?: boolean;
|
|
1383
|
+
useBoundingBox?: boolean;
|
|
1384
|
+
distanceMiles?: number;
|
|
1385
|
+
distanceYards?: number;
|
|
1386
|
+
distanceFeet?: number;
|
|
1387
|
+
distanceKilometers?: number;
|
|
1388
|
+
distanceMeters?: number;
|
|
1389
|
+
useBedrooms?: boolean;
|
|
1390
|
+
minBedrooms?: number;
|
|
1391
|
+
maxBedrooms?: number;
|
|
1392
|
+
boundingBoxNw?: GeoPoint;
|
|
1393
|
+
boundingBoxSe?: GeoPoint;
|
|
1394
|
+
useBathrooms?: boolean;
|
|
1395
|
+
minBathrooms?: number;
|
|
1396
|
+
maxBathrooms?: number;
|
|
1397
|
+
useStories?: boolean;
|
|
1398
|
+
minStories?: number;
|
|
1399
|
+
maxStories?: number;
|
|
1400
|
+
useArea?: boolean;
|
|
1401
|
+
minAreaPercent?: number;
|
|
1402
|
+
maxAreaPercent?: number;
|
|
1403
|
+
useYearBuilt?: boolean;
|
|
1404
|
+
minYearBuilt?: number;
|
|
1405
|
+
maxYearBuilt?: number;
|
|
1406
|
+
useLotSize?: boolean;
|
|
1407
|
+
minLotSizePercent?: number;
|
|
1408
|
+
maxLotSizePercent?: number;
|
|
1409
|
+
webhookUrl?: string;
|
|
1410
|
+
errorWebhookUrl?: string;
|
|
1411
|
+
skipTrace?: boolean;
|
|
1412
|
+
aggregateLoanTypes?: boolean;
|
|
1413
|
+
images?: boolean;
|
|
1414
|
+
dateFormat?: string;
|
|
1415
|
+
sort?: {
|
|
1416
|
+
field?: string;
|
|
1417
|
+
order?: "asc" | "desc" | "random";
|
|
1418
|
+
sessionId?: string;
|
|
1419
|
+
};
|
|
1420
|
+
useSubdivision?: boolean;
|
|
1421
|
+
}
|
|
1422
|
+
/**
|
|
1423
|
+
* Property search request (synchronous)
|
|
1424
|
+
*/
|
|
1425
|
+
export interface PropertySearchRequest {
|
|
1426
|
+
searchCriteria: SearchCriteria;
|
|
1427
|
+
options?: PropertyLookupOptions;
|
|
1428
|
+
}
|
|
1429
|
+
/**
|
|
1430
|
+
* Property lookup request
|
|
1431
|
+
*/
|
|
1432
|
+
export interface PropertyLookupRequest {
|
|
1433
|
+
requests: PropertyLookupRequestItem[];
|
|
1434
|
+
options?: PropertyLookupOptions;
|
|
1435
|
+
}
|
|
1436
|
+
/**
|
|
1437
|
+
* Property lookup API response (same structure as PropertySearchResponse)
|
|
1438
|
+
*/
|
|
1439
|
+
export interface PropertyLookupResponse {
|
|
1440
|
+
status?: ResponseStatus;
|
|
1441
|
+
results?: {
|
|
1442
|
+
properties?: Property[];
|
|
1443
|
+
meta?: ResponseMetadata;
|
|
1444
|
+
};
|
|
1445
|
+
}
|
|
1446
|
+
/**
|
|
1447
|
+
* Property lookup async request
|
|
1448
|
+
*/
|
|
1449
|
+
export interface PropertyLookupAsyncRequest {
|
|
1450
|
+
requests: PropertyLookupRequestItem[];
|
|
1451
|
+
options?: PropertyLookupOptions;
|
|
1452
|
+
}
|
|
1453
|
+
/**
|
|
1454
|
+
* Property lookup async API response
|
|
1455
|
+
* Async endpoints return only a status object. Full results are delivered to the webhook URL.
|
|
1456
|
+
*/
|
|
1457
|
+
export interface PropertyLookupAsyncResponse {
|
|
1458
|
+
status?: ResponseStatus;
|
|
1459
|
+
}
|
|
1460
|
+
/**
|
|
1461
|
+
* Property lookup async webhook payload
|
|
1462
|
+
* The webhook payload for PropertyLookupAsync matches the synchronous PropertyLookupResponse format.
|
|
1463
|
+
*/
|
|
1464
|
+
export type PropertyLookupAsyncWebhookPayload = PropertyLookupResponse;
|
|
1465
|
+
/**
|
|
1466
|
+
* Property search async request
|
|
1467
|
+
*/
|
|
1468
|
+
export interface PropertySearchAsyncRequest {
|
|
1469
|
+
searchCriteria: SearchCriteria;
|
|
1470
|
+
options?: PropertyLookupOptions;
|
|
1471
|
+
}
|
|
1472
|
+
/**
|
|
1473
|
+
* Property search async API response
|
|
1474
|
+
* Async endpoints return only a status object. Full results are delivered to the webhook URL.
|
|
1475
|
+
*/
|
|
1476
|
+
export interface PropertySearchAsyncResponse {
|
|
1477
|
+
status?: ResponseStatus;
|
|
1478
|
+
}
|
|
1479
|
+
/**
|
|
1480
|
+
* Property search async webhook payload
|
|
1481
|
+
* The webhook payload for PropertySearchAsync matches the synchronous PropertySearchResponse format.
|
|
1482
|
+
*/
|
|
1483
|
+
export type PropertySearchAsyncWebhookPayload = PropertySearchResponse;
|
|
1484
|
+
/**
|
|
1485
|
+
* Property skip trace request item
|
|
1486
|
+
*/
|
|
1487
|
+
export interface PropertySkipTraceRequestItem {
|
|
1488
|
+
propertyAddress?: PropertyLookupRequestAddress;
|
|
1489
|
+
mailingAddress?: PropertyLookupRequestAddress;
|
|
1490
|
+
name?: {
|
|
1491
|
+
first?: string;
|
|
1492
|
+
last?: string;
|
|
1493
|
+
};
|
|
1494
|
+
apn?: string;
|
|
1495
|
+
countyFipsCode?: string;
|
|
1496
|
+
county?: string;
|
|
1497
|
+
state?: string;
|
|
1498
|
+
requestId?: string;
|
|
1499
|
+
}
|
|
1500
|
+
/**
|
|
1501
|
+
* Property skip trace request
|
|
1502
|
+
*/
|
|
1503
|
+
export interface PropertySkipTraceRequest {
|
|
1504
|
+
requests: PropertySkipTraceRequestItem[];
|
|
1505
|
+
options?: {
|
|
1506
|
+
skip?: number;
|
|
1507
|
+
take?: number;
|
|
1508
|
+
showRequests?: boolean;
|
|
1509
|
+
webhookUrl?: string;
|
|
1510
|
+
errorWebhookUrl?: string;
|
|
1511
|
+
};
|
|
1512
|
+
}
|
|
1513
|
+
/**
|
|
1514
|
+
* Property skip trace API response
|
|
1515
|
+
*/
|
|
1516
|
+
export interface PropertySkipTraceResponse {
|
|
1517
|
+
status?: ResponseStatus;
|
|
1518
|
+
results?: {
|
|
1519
|
+
properties?: Property[];
|
|
1520
|
+
meta?: ResponseMetadata;
|
|
1521
|
+
};
|
|
1522
|
+
}
|
|
1523
|
+
/**
|
|
1524
|
+
* Property skip trace async request
|
|
1525
|
+
*/
|
|
1526
|
+
export interface PropertySkipTraceAsyncRequest {
|
|
1527
|
+
requests: PropertySkipTraceRequestItem[];
|
|
1528
|
+
options?: {
|
|
1529
|
+
skip?: number;
|
|
1530
|
+
take?: number;
|
|
1531
|
+
showRequests?: boolean;
|
|
1532
|
+
webhookUrl?: string;
|
|
1533
|
+
errorWebhookUrl?: string;
|
|
1534
|
+
};
|
|
1535
|
+
}
|
|
1536
|
+
/**
|
|
1537
|
+
* Property skip trace async API response
|
|
1538
|
+
* Async endpoints return only a status object. Full results are delivered to the webhook URL.
|
|
1539
|
+
*/
|
|
1540
|
+
export interface PropertySkipTraceAsyncResponse {
|
|
1541
|
+
status?: ResponseStatus;
|
|
1542
|
+
}
|
|
1543
|
+
/**
|
|
1544
|
+
* Property skip trace async webhook payload
|
|
1545
|
+
* The webhook payload for PropertySkipTraceAsync matches the synchronous PropertySkipTraceResponse format.
|
|
1546
|
+
*/
|
|
1547
|
+
export type PropertySkipTraceAsyncWebhookPayload = PropertySkipTraceResponse;
|
|
1548
|
+
/**
|
|
1549
|
+
* Phone verification request
|
|
1550
|
+
* The requests array is a list of phone numbers (strings) for which you want verification information.
|
|
1551
|
+
*/
|
|
1552
|
+
export interface PhoneVerificationRequest {
|
|
1553
|
+
requests: string[];
|
|
1554
|
+
options?: {
|
|
1555
|
+
showRequests?: boolean;
|
|
1556
|
+
};
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* Phone verification result
|
|
1560
|
+
*/
|
|
1561
|
+
export interface PhoneVerificationResult {
|
|
1562
|
+
phone?: string;
|
|
1563
|
+
isValid?: boolean;
|
|
1564
|
+
phoneType?: string;
|
|
1565
|
+
carrier?: string;
|
|
1566
|
+
lineType?: string;
|
|
1567
|
+
countryCode?: string;
|
|
1568
|
+
areaCode?: string;
|
|
1569
|
+
requestId?: string | number;
|
|
1570
|
+
}
|
|
1571
|
+
/**
|
|
1572
|
+
* Phone verification API response
|
|
1573
|
+
*/
|
|
1574
|
+
export interface PhoneVerificationResponse {
|
|
1575
|
+
status?: ResponseStatus;
|
|
1576
|
+
results?: {
|
|
1577
|
+
phoneNumbers?: PhoneVerificationResult[];
|
|
1578
|
+
meta?: {
|
|
1579
|
+
apiVersion?: string;
|
|
1580
|
+
performance?: PerformanceMetrics;
|
|
1581
|
+
requestCount?: number;
|
|
1582
|
+
matchCount?: number;
|
|
1583
|
+
errorCount?: number;
|
|
1584
|
+
requestId?: string;
|
|
1585
|
+
};
|
|
1586
|
+
};
|
|
1587
|
+
}
|
|
1588
|
+
/**
|
|
1589
|
+
* Phone verification async request
|
|
1590
|
+
* The requests array is a list of phone numbers (strings) for which you want verification information.
|
|
1591
|
+
*/
|
|
1592
|
+
export interface PhoneVerificationAsyncRequest {
|
|
1593
|
+
requests: string[];
|
|
1594
|
+
options?: {
|
|
1595
|
+
showRequests?: boolean;
|
|
1596
|
+
webhookUrl?: string;
|
|
1597
|
+
errorWebhookUrl?: string;
|
|
1598
|
+
};
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Phone verification async API response
|
|
1602
|
+
* Async endpoints return only a status object. Full results are delivered to the webhook URL.
|
|
1603
|
+
*/
|
|
1604
|
+
export interface PhoneVerificationAsyncResponse {
|
|
1605
|
+
status?: ResponseStatus;
|
|
1606
|
+
}
|
|
1607
|
+
/**
|
|
1608
|
+
* Phone verification async webhook payload
|
|
1609
|
+
* The webhook payload for PhoneVerificationAsync matches the synchronous PhoneVerificationResponse format.
|
|
1610
|
+
*/
|
|
1611
|
+
export type PhoneVerificationAsyncWebhookPayload = PhoneVerificationResponse;
|
|
1612
|
+
/**
|
|
1613
|
+
* Phone DNC (Do Not Call) request
|
|
1614
|
+
* The requests array is a list of phone numbers (strings) for which you want DNC information.
|
|
1615
|
+
*/
|
|
1616
|
+
export interface PhoneDNCRequest {
|
|
1617
|
+
requests: string[];
|
|
1618
|
+
options?: {
|
|
1619
|
+
showRequests?: boolean;
|
|
1620
|
+
};
|
|
1621
|
+
}
|
|
1622
|
+
/**
|
|
1623
|
+
* Phone DNC result
|
|
1624
|
+
*/
|
|
1625
|
+
export interface PhoneDNCResult {
|
|
1626
|
+
number?: string;
|
|
1627
|
+
dnc?: boolean;
|
|
1628
|
+
meta?: {
|
|
1629
|
+
error?: boolean;
|
|
1630
|
+
matched?: boolean;
|
|
1631
|
+
};
|
|
1632
|
+
}
|
|
1633
|
+
/**
|
|
1634
|
+
* Phone DNC API response
|
|
1635
|
+
*/
|
|
1636
|
+
export interface PhoneDNCResponse {
|
|
1637
|
+
status?: ResponseStatus;
|
|
1638
|
+
results?: {
|
|
1639
|
+
phoneNumbers?: PhoneDNCResult[];
|
|
1640
|
+
meta?: {
|
|
1641
|
+
apiVersion?: string;
|
|
1642
|
+
performance?: PerformanceMetrics;
|
|
1643
|
+
requestCount?: number;
|
|
1644
|
+
matchCount?: number;
|
|
1645
|
+
errorCount?: number;
|
|
1646
|
+
requestId?: string;
|
|
1647
|
+
};
|
|
1648
|
+
};
|
|
1649
|
+
}
|
|
1650
|
+
/**
|
|
1651
|
+
* Phone DNC async request
|
|
1652
|
+
* The requests array is a list of phone numbers (strings) for which you want DNC information.
|
|
1653
|
+
*/
|
|
1654
|
+
export interface PhoneDNCAsyncRequest {
|
|
1655
|
+
requests: string[];
|
|
1656
|
+
options?: {
|
|
1657
|
+
showRequests?: boolean;
|
|
1658
|
+
webhookUrl?: string;
|
|
1659
|
+
errorWebhookUrl?: string;
|
|
1660
|
+
};
|
|
1661
|
+
}
|
|
1662
|
+
/**
|
|
1663
|
+
* Phone DNC async API response
|
|
1664
|
+
* Async endpoints return only a status object. Full results are delivered to the webhook URL.
|
|
1665
|
+
*/
|
|
1666
|
+
export interface PhoneDNCAsyncResponse {
|
|
1667
|
+
status?: ResponseStatus;
|
|
1668
|
+
}
|
|
1669
|
+
/**
|
|
1670
|
+
* Phone DNC async webhook payload
|
|
1671
|
+
* The webhook payload for PhoneDNCAsync matches the synchronous PhoneDNCResponse format.
|
|
1672
|
+
*/
|
|
1673
|
+
export type PhoneDNCAsyncWebhookPayload = PhoneDNCResponse;
|
|
1674
|
+
/**
|
|
1675
|
+
* Phone TCPA (Telephone Consumer Protection Act) request
|
|
1676
|
+
* The requests array is a list of phone numbers (strings) for which you want TCPA information.
|
|
1677
|
+
*/
|
|
1678
|
+
export interface PhoneTCPARequest {
|
|
1679
|
+
requests: string[];
|
|
1680
|
+
options?: {
|
|
1681
|
+
showRequests?: boolean;
|
|
1682
|
+
};
|
|
1683
|
+
}
|
|
1684
|
+
/**
|
|
1685
|
+
* Phone TCPA result
|
|
1686
|
+
*/
|
|
1687
|
+
export interface PhoneTCPAResult {
|
|
1688
|
+
number?: string;
|
|
1689
|
+
tcpa?: boolean;
|
|
1690
|
+
meta?: {
|
|
1691
|
+
error?: boolean;
|
|
1692
|
+
matched?: boolean;
|
|
1693
|
+
};
|
|
1694
|
+
}
|
|
1695
|
+
/**
|
|
1696
|
+
* Phone TCPA API response
|
|
1697
|
+
*/
|
|
1698
|
+
export interface PhoneTCPAResponse {
|
|
1699
|
+
status?: ResponseStatus;
|
|
1700
|
+
results?: {
|
|
1701
|
+
phoneNumbers?: PhoneTCPAResult[];
|
|
1702
|
+
meta?: {
|
|
1703
|
+
apiVersion?: string;
|
|
1704
|
+
performance?: PerformanceMetrics;
|
|
1705
|
+
requestCount?: number;
|
|
1706
|
+
matchCount?: number;
|
|
1707
|
+
errorCount?: number;
|
|
1708
|
+
requestId?: string;
|
|
1709
|
+
};
|
|
1710
|
+
};
|
|
1711
|
+
}
|
|
1712
|
+
/**
|
|
1713
|
+
* Phone TCPA async request
|
|
1714
|
+
* The requests array is a list of phone numbers (strings) for which you want TCPA information.
|
|
1715
|
+
*/
|
|
1716
|
+
export interface PhoneTCPAAsyncRequest {
|
|
1717
|
+
requests: string[];
|
|
1718
|
+
options?: {
|
|
1719
|
+
showRequests?: boolean;
|
|
1720
|
+
webhookUrl?: string;
|
|
1721
|
+
errorWebhookUrl?: string;
|
|
1722
|
+
};
|
|
1723
|
+
}
|
|
1724
|
+
/**
|
|
1725
|
+
* Phone TCPA async API response
|
|
1726
|
+
*/
|
|
1727
|
+
/**
|
|
1728
|
+
* Phone TCPA async API response
|
|
1729
|
+
* Async endpoints return only a status object. Full results are delivered to the webhook URL.
|
|
1730
|
+
*/
|
|
1731
|
+
export interface PhoneTCPAAsyncResponse {
|
|
1732
|
+
status?: ResponseStatus;
|
|
1733
|
+
}
|
|
1734
|
+
/**
|
|
1735
|
+
* Phone TCPA async webhook payload
|
|
1736
|
+
* The webhook payload for PhoneTCPAAsync matches the synchronous PhoneTCPAResponse format.
|
|
1737
|
+
*/
|
|
1738
|
+
export type PhoneTCPAAsyncWebhookPayload = PhoneTCPAResponse;
|