@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.
@@ -0,0 +1,435 @@
1
+ import { AxiosInstance, AxiosResponse, AxiosError, InternalAxiosRequestConfig } from "axios";
2
+ import { IBatchDataClient } from "./client.interface";
3
+ import { ILogger } from "./logger.interface";
4
+ import { PropertySubscriptionRequest, PropertySubscriptionResponse, PropertySearchRequest, PropertySearchResponse, AddressVerifyRequest, AddressVerifyResponse, AddressAutocompleteRequest, AddressAutocompleteResponse, AddressGeocodeRequest, AddressGeocodeResponse, AddressReverseGeocodeRequest, AddressReverseGeocodeResponse, PropertyLookupRequest, PropertyLookupResponse, PropertyLookupAsyncRequest, PropertyLookupAsyncResponse, PropertySearchAsyncRequest, PropertySearchAsyncResponse, PropertySkipTraceRequest, PropertySkipTraceResponse, PropertySkipTraceAsyncRequest, PropertySkipTraceAsyncResponse, PhoneVerificationRequest, PhoneVerificationResponse, PhoneVerificationAsyncRequest, PhoneVerificationAsyncResponse, PhoneDNCRequest, PhoneDNCResponse, PhoneDNCAsyncRequest, PhoneDNCAsyncResponse, PhoneTCPARequest, PhoneTCPAResponse, PhoneTCPAAsyncRequest, PhoneTCPAAsyncResponse, GetPropertySubscriptionsResponse, GetPropertySubscriptionDetailResponse, DeletePropertySubscriptionResponse, PropertyPermitRequest, PropertyPermitResponse, PropertySkipTraceV3Request, PropertySkipTraceV3Response, PropertySkipTraceV3AsyncRequest, PropertySkipTraceV3AsyncResponse } from "./types";
5
+ /**
6
+ * Middleware function that executes before an HTTP request is sent.
7
+ * Can modify the request config or perform side effects (logging, metrics, etc.).
8
+ *
9
+ * @param config The axios request configuration
10
+ * @returns The (potentially modified) request configuration, or a Promise that resolves to it
11
+ */
12
+ export type RequestMiddleware = (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig | Promise<InternalAxiosRequestConfig>;
13
+ /**
14
+ * Middleware function that executes after an HTTP response is received.
15
+ * Can modify the response or perform side effects (logging, metrics, etc.).
16
+ *
17
+ * @param response The axios response
18
+ * @returns The (potentially modified) response, or a Promise that resolves to it
19
+ */
20
+ export type ResponseMiddleware = (response: AxiosResponse) => AxiosResponse | Promise<AxiosResponse>;
21
+ /**
22
+ * Middleware function that executes when an HTTP request fails.
23
+ * Can handle errors, transform them, or perform side effects.
24
+ *
25
+ * @param error The axios error
26
+ * @returns A rejected Promise (to propagate the error) or a resolved Promise with a response (to recover from the error)
27
+ */
28
+ export type ErrorMiddleware = (error: AxiosError) => Promise<AxiosResponse | AxiosError> | AxiosResponse | AxiosError;
29
+ /**
30
+ * HTTP Middleware configuration
31
+ */
32
+ export interface HttpMiddleware {
33
+ /**
34
+ * Middleware functions to execute before requests are sent
35
+ */
36
+ onRequest?: RequestMiddleware[];
37
+ /**
38
+ * Middleware functions to execute after successful responses
39
+ */
40
+ onResponse?: ResponseMiddleware[];
41
+ /**
42
+ * Middleware functions to execute when requests fail
43
+ */
44
+ onError?: ErrorMiddleware[];
45
+ }
46
+ /**
47
+ * Webhook URLs for a single async endpoint
48
+ */
49
+ export interface AsyncWebhookUrls {
50
+ /**
51
+ * Webhook URL for successful responses
52
+ */
53
+ url: string;
54
+ /**
55
+ * Optional webhook URL for error responses
56
+ */
57
+ errorUrl?: string;
58
+ }
59
+ /**
60
+ * Webhook URL configuration for async API requests
61
+ * Allows specifying webhook URLs per endpoint type, with fallback to defaults
62
+ */
63
+ export interface AsyncWebhookConfiguration {
64
+ /**
65
+ * Default webhook URLs used as fallback for all async endpoints
66
+ */
67
+ default?: AsyncWebhookUrls;
68
+ /**
69
+ * Webhook URLs for property lookup async requests
70
+ */
71
+ propertyLookup?: AsyncWebhookUrls;
72
+ /**
73
+ * Webhook URLs for property search async requests
74
+ */
75
+ propertySearch?: AsyncWebhookUrls;
76
+ /**
77
+ * Webhook URLs for skip trace async requests (v1)
78
+ */
79
+ skipTrace?: AsyncWebhookUrls;
80
+ /**
81
+ * Webhook URLs for skip trace async requests (v3)
82
+ */
83
+ skipTraceV3?: AsyncWebhookUrls;
84
+ /**
85
+ * Webhook URLs for phone verification async requests
86
+ */
87
+ phoneVerification?: AsyncWebhookUrls;
88
+ /**
89
+ * Webhook URLs for phone DNC async requests
90
+ */
91
+ phoneDNC?: AsyncWebhookUrls;
92
+ /**
93
+ * Webhook URLs for phone TCPA async requests
94
+ */
95
+ phoneTCPA?: AsyncWebhookUrls;
96
+ /**
97
+ * Webhook URLs for property subscription requests
98
+ */
99
+ propertySubscription?: AsyncWebhookUrls;
100
+ }
101
+ /**
102
+ * BatchData API Client Options
103
+ */
104
+ export interface BatchDataClientOptions {
105
+ /**
106
+ * BatchData API key (required)
107
+ */
108
+ apiKey: string;
109
+ /**
110
+ * Optional logger implementation (defaults to ConsoleLogger)
111
+ */
112
+ logger?: ILogger;
113
+ /**
114
+ * Optional timeout in milliseconds (defaults to 30000)
115
+ */
116
+ timeout?: number;
117
+ /**
118
+ * Optional base URLs (for testing or custom endpoints)
119
+ */
120
+ v1BaseUrl?: string;
121
+ v2BaseUrl?: string;
122
+ v3BaseUrl?: string;
123
+ /**
124
+ * Optional HTTP middleware for intercepting requests and responses
125
+ */
126
+ middleware?: HttpMiddleware;
127
+ /**
128
+ * Optional webhook URL configuration for async requests
129
+ * Allows specifying webhook URLs per endpoint type, with fallback to defaults
130
+ */
131
+ webhooks?: AsyncWebhookConfiguration;
132
+ }
133
+ /**
134
+ * BatchData API Client
135
+ *
136
+ * Pure API client that makes HTTP calls to BatchData.io endpoints.
137
+ * No business logic - just handles HTTP communication with the API.
138
+ */
139
+ export declare class BatchDataClient implements IBatchDataClient {
140
+ protected readonly v1BaseUrl: string;
141
+ protected readonly v2BaseUrl: string;
142
+ protected readonly v3BaseUrl: string;
143
+ protected readonly axiosInstance: AxiosInstance;
144
+ protected readonly logger: ILogger;
145
+ private readonly webhooks?;
146
+ constructor(options: BatchDataClientOptions);
147
+ /**
148
+ * Set up axios interceptors from middleware configuration
149
+ * @param middleware The middleware configuration
150
+ */
151
+ protected setupMiddleware(middleware: HttpMiddleware): void;
152
+ /**
153
+ * Apply default webhook URLs to an async request if they're not already set.
154
+ * This helper ensures that if webhook URLs are configured in the client,
155
+ * they will be used for async requests that don't explicitly specify webhook URLs.
156
+ *
157
+ * @param request The async request to modify
158
+ * @param endpointType The type of async endpoint (e.g., 'propertyLookup', 'propertySearch')
159
+ * @returns The request with webhook URLs applied (if needed)
160
+ */
161
+ private applyDefaultWebhookUrls;
162
+ /**
163
+ * Apply default webhook URLs to a property subscription request if they're not already set.
164
+ * This helper ensures that if webhook URLs are configured in the client,
165
+ * they will be used for property subscriptions that don't explicitly specify webhook URLs.
166
+ *
167
+ * @param request The property subscription request to modify
168
+ * @returns The request with webhook URLs applied (if needed)
169
+ */
170
+ private applyPropertySubscriptionWebhooks;
171
+ /**
172
+ * Add a request middleware function that executes before requests are sent.
173
+ * Useful for adding headers, logging, metrics, etc.
174
+ *
175
+ * @param middleware The middleware function
176
+ * @returns The interceptor ID (can be used to remove the interceptor later)
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const client = new BatchDataClient({ apiKey: "..." });
181
+ * client.addRequestMiddleware((config) => {
182
+ * console.log(`Making request to ${config.url}`);
183
+ * config.headers["X-Custom-Header"] = "value";
184
+ * return config;
185
+ * });
186
+ * ```
187
+ */
188
+ addRequestMiddleware(middleware: RequestMiddleware): number;
189
+ /**
190
+ * Add a response middleware function that executes after successful responses.
191
+ * Useful for logging, metrics, response transformation, etc.
192
+ *
193
+ * @param middleware The middleware function
194
+ * @returns The interceptor ID (can be used to remove the interceptor later)
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * const client = new BatchDataClient({ apiKey: "..." });
199
+ * client.addResponseMiddleware((response) => {
200
+ * console.log(`Received response: ${response.status}`);
201
+ * return response;
202
+ * });
203
+ * ```
204
+ */
205
+ addResponseMiddleware(middleware: ResponseMiddleware): number;
206
+ /**
207
+ * Add an error middleware function that executes when requests fail.
208
+ * Useful for error handling, retry logic, error transformation, etc.
209
+ *
210
+ * @param middleware The middleware function
211
+ * @returns The interceptor ID (can be used to remove the interceptor later)
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * const client = new BatchDataClient({ apiKey: "..." });
216
+ * client.addErrorMiddleware(async (error) => {
217
+ * if (error.response?.status === 429) {
218
+ * // Retry logic here
219
+ * }
220
+ * throw error; // Re-throw to propagate
221
+ * });
222
+ * ```
223
+ */
224
+ addErrorMiddleware(middleware: ErrorMiddleware): number;
225
+ /**
226
+ * Remove a request interceptor by ID
227
+ * @param id The interceptor ID returned from addRequestMiddleware
228
+ */
229
+ removeRequestMiddleware(id: number): void;
230
+ /**
231
+ * Remove a response interceptor by ID
232
+ * @param id The interceptor ID returned from addResponseMiddleware or addErrorMiddleware
233
+ */
234
+ removeResponseMiddleware(id: number): void;
235
+ /**
236
+ * Wrapper for axios calls that handles error logging consistently
237
+ * @param axiosCall The axios call to execute
238
+ * @param errorMessagePrefix Prefix for the error message (e.g., "Failed to search properties")
239
+ * @param url The URL being called (for error details)
240
+ * @returns Object containing the response data and status
241
+ */
242
+ private handleApiCall;
243
+ /**
244
+ * Create a property subscription (v2 API)
245
+ * POST /api/v2/property-subscription
246
+ */
247
+ createPropertySubscription(request: PropertySubscriptionRequest): Promise<PropertySubscriptionResponse>;
248
+ /**
249
+ * Search for properties (v1 API)
250
+ * POST /api/v1/property/search
251
+ *
252
+ * @param searchCriteria Search criteria
253
+ * @param options Request options
254
+ * @param options.take Number of properties to return (0 for count-only)
255
+ * @param options.skip Number of properties to skip for pagination
256
+ * @returns Property search API response
257
+ */
258
+ searchProperties(request: PropertySearchRequest): Promise<PropertySearchResponse>;
259
+ /**
260
+ * Get the count of properties matching the search criteria
261
+ * @param searchCriteria Search criteria to match properties
262
+ * @returns Number of matching properties, or null if the endpoint is unavailable
263
+ */
264
+ getPropertyCount(searchRequest: PropertySearchRequest): Promise<number | null>;
265
+ /**
266
+ * Verify and normalize addresses (v1 API)
267
+ * POST /api/v1/address/verify
268
+ *
269
+ * @param request Address verification request
270
+ * @returns Address verification API response
271
+ */
272
+ verifyAddress(request: AddressVerifyRequest): Promise<AddressVerifyResponse>;
273
+ /**
274
+ * Get address autocomplete suggestions (v1 API)
275
+ * POST /api/v1/address/autocomplete
276
+ *
277
+ * Note: This endpoint requires a Referer header per API documentation.
278
+ * For server-side usage, a default Referer is set.
279
+ *
280
+ * @param request Address autocomplete request
281
+ * @returns Address autocomplete API response
282
+ */
283
+ autocompleteAddress(request: AddressAutocompleteRequest): Promise<AddressAutocompleteResponse>;
284
+ /**
285
+ * Geocode an address to coordinates (v1 API)
286
+ * POST /api/v1/address/geocode
287
+ *
288
+ * @param request Address geocode request
289
+ * @returns Address geocode API response
290
+ */
291
+ geocodeAddress(request: AddressGeocodeRequest): Promise<AddressGeocodeResponse>;
292
+ /**
293
+ * Reverse geocode coordinates to an address (v1 API)
294
+ * POST /api/v1/address/reverse-geocode
295
+ *
296
+ * @param request Address reverse geocode request
297
+ * @returns Address reverse geocode API response
298
+ */
299
+ reverseGeocodeAddress(request: AddressReverseGeocodeRequest): Promise<AddressReverseGeocodeResponse>;
300
+ /**
301
+ * Lookup property details by address, propertyId, hash, or APN (v1 API)
302
+ * POST /api/v1/property/lookup/all-attributes
303
+ *
304
+ * @param request Property lookup request
305
+ * @returns Property lookup API response
306
+ */
307
+ lookupProperty(request: PropertyLookupRequest): Promise<PropertyLookupResponse>;
308
+ /**
309
+ * Lookup property details asynchronously (v1 API)
310
+ * POST /api/v1/property/lookup/async
311
+ *
312
+ * @param request Property lookup async request
313
+ * @returns Property lookup async API response
314
+ */
315
+ lookupPropertyAsync(request: PropertyLookupAsyncRequest): Promise<PropertyLookupAsyncResponse>;
316
+ /**
317
+ * Search for properties asynchronously (v1 API)
318
+ * POST /api/v1/property/search/async
319
+ *
320
+ * @param request Property search async request
321
+ * @returns Property search async API response
322
+ */
323
+ searchPropertiesAsync(request: PropertySearchAsyncRequest): Promise<PropertySearchAsyncResponse>;
324
+ /**
325
+ * Skip trace property owners (v1 API)
326
+ * POST /api/v1/property/skip-trace
327
+ *
328
+ * @param request Property skip trace request
329
+ * @returns Property skip trace API response
330
+ */
331
+ skipTraceProperty(request: PropertySkipTraceRequest): Promise<PropertySkipTraceResponse>;
332
+ /**
333
+ * Skip trace property owners asynchronously (v1 API)
334
+ * POST /api/v1/property/skip-trace/async
335
+ *
336
+ * @param request Property skip trace async request
337
+ * @returns Property skip trace async API response
338
+ */
339
+ skipTracePropertyAsync(request: PropertySkipTraceAsyncRequest): Promise<PropertySkipTraceAsyncResponse>;
340
+ /**
341
+ * Verify phone numbers (v1 API)
342
+ * POST /api/v1/phone/verification
343
+ *
344
+ * @param request Phone verification request
345
+ * @returns Phone verification API response
346
+ */
347
+ verifyPhone(request: PhoneVerificationRequest): Promise<PhoneVerificationResponse>;
348
+ /**
349
+ * Verify phone numbers asynchronously (v1 API)
350
+ * POST /api/v1/phone/verification/async
351
+ *
352
+ * @param request Phone verification async request
353
+ * @returns Phone verification async API response
354
+ */
355
+ verifyPhoneAsync(request: PhoneVerificationAsyncRequest): Promise<PhoneVerificationAsyncResponse>;
356
+ /**
357
+ * Check phone numbers against DNC (Do Not Call) list (v1 API)
358
+ * POST /api/v1/phone/dnc
359
+ *
360
+ * @param request Phone DNC request
361
+ * @returns Phone DNC API response
362
+ */
363
+ checkPhoneDNC(request: PhoneDNCRequest): Promise<PhoneDNCResponse>;
364
+ /**
365
+ * Check phone numbers against DNC list asynchronously (v1 API)
366
+ * POST /api/v1/phone/dnc/async
367
+ *
368
+ * @param request Phone DNC async request
369
+ * @returns Phone DNC async API response
370
+ */
371
+ checkPhoneDNCAsync(request: PhoneDNCAsyncRequest): Promise<PhoneDNCAsyncResponse>;
372
+ /**
373
+ * Check phone numbers for TCPA compliance (v1 API)
374
+ * POST /api/v1/phone/tcpa
375
+ *
376
+ * @param request Phone TCPA request
377
+ * @returns Phone TCPA API response
378
+ */
379
+ checkPhoneTCPA(request: PhoneTCPARequest): Promise<PhoneTCPAResponse>;
380
+ /**
381
+ * Check phone numbers for TCPA compliance asynchronously (v1 API)
382
+ * POST /api/v1/phone/tcpa/async
383
+ *
384
+ * @param request Phone TCPA async request
385
+ * @returns Phone TCPA async API response
386
+ */
387
+ checkPhoneTCPAAsync(request: PhoneTCPAAsyncRequest): Promise<PhoneTCPAAsyncResponse>;
388
+ /**
389
+ * Get all property subscriptions (v2 API)
390
+ * GET /api/v2/property-subscription
391
+ *
392
+ * @returns Array of property subscriptions
393
+ */
394
+ getPropertySubscriptions(): Promise<GetPropertySubscriptionsResponse>;
395
+ /**
396
+ * Get property subscription by ID (v2 API)
397
+ * GET /api/v2/property-subscription/{id}
398
+ *
399
+ * @param id Subscription ID
400
+ * @returns Property subscription detail
401
+ */
402
+ getPropertySubscription(id: string): Promise<GetPropertySubscriptionDetailResponse>;
403
+ /**
404
+ * Delete property subscription (v2 API)
405
+ * DELETE /api/v2/property-subscription/{id}
406
+ *
407
+ * @param id Subscription ID
408
+ * @returns Delete response
409
+ */
410
+ deletePropertySubscription(id: string): Promise<DeletePropertySubscriptionResponse>;
411
+ /**
412
+ * Get property permits (v2 API)
413
+ * POST /api/v2/property/get-property-permits
414
+ *
415
+ * @param request Property permit request
416
+ * @returns Property permit API response
417
+ */
418
+ getPropertyPermit(request: PropertyPermitRequest): Promise<PropertyPermitResponse>;
419
+ /**
420
+ * Skip trace property owners (v3 API)
421
+ * POST /api/v3/property/skip-trace
422
+ *
423
+ * @param request Property skip trace v3 request
424
+ * @returns Property skip trace v3 API response
425
+ */
426
+ skipTracePropertyV3(request: PropertySkipTraceV3Request): Promise<PropertySkipTraceV3Response>;
427
+ /**
428
+ * Skip trace property owners asynchronously (v3 API)
429
+ * POST /api/v3/property/skip-trace/async
430
+ *
431
+ * @param request Property skip trace v3 async request
432
+ * @returns Property skip trace v3 async API response
433
+ */
434
+ skipTracePropertyV3Async(request: PropertySkipTraceV3AsyncRequest): Promise<PropertySkipTraceV3AsyncResponse>;
435
+ }
@@ -0,0 +1,210 @@
1
+ import { PropertySubscriptionRequest, PropertySubscriptionResponse, PropertySearchRequest, PropertySearchResponse, AddressVerifyRequest, AddressVerifyResponse, AddressAutocompleteRequest, AddressAutocompleteResponse, AddressGeocodeRequest, AddressGeocodeResponse, AddressReverseGeocodeRequest, AddressReverseGeocodeResponse, PropertyLookupRequest, PropertyLookupResponse, PropertyLookupAsyncRequest, PropertyLookupAsyncResponse, PropertySearchAsyncRequest, PropertySearchAsyncResponse, PropertySkipTraceRequest, PropertySkipTraceResponse, PropertySkipTraceAsyncRequest, PropertySkipTraceAsyncResponse, PhoneVerificationRequest, PhoneVerificationResponse, PhoneVerificationAsyncRequest, PhoneVerificationAsyncResponse, PhoneDNCRequest, PhoneDNCResponse, PhoneDNCAsyncRequest, PhoneDNCAsyncResponse, PhoneTCPARequest, PhoneTCPAResponse, PhoneTCPAAsyncRequest, PhoneTCPAAsyncResponse, GetPropertySubscriptionsResponse, GetPropertySubscriptionDetailResponse, DeletePropertySubscriptionResponse, PropertyPermitRequest, PropertyPermitResponse, PropertySkipTraceV3Request, PropertySkipTraceV3Response, PropertySkipTraceV3AsyncRequest, PropertySkipTraceV3AsyncResponse } from "./types";
2
+ /**
3
+ * BatchData API Client Interface
4
+ *
5
+ * Pure API client that makes HTTP calls to BatchData.io endpoints.
6
+ * No business logic - just API communication.
7
+ */
8
+ export interface IBatchDataClient {
9
+ /**
10
+ * Create a property subscription (v2 API)
11
+ * POST /api/v2/property-subscription
12
+ *
13
+ * @see PropertySubscriptionBuilder For fluent construction of requests
14
+ */
15
+ createPropertySubscription(request: PropertySubscriptionRequest): Promise<PropertySubscriptionResponse>;
16
+ /**
17
+ * Search for properties (v1 API)
18
+ * POST /api/v1/property/search
19
+ *
20
+ * @param request Property search request
21
+ * @param request.searchCriteria Search criteria for property search
22
+ * @param request.options Request options (pagination, distance, bounding box, filters, etc.)
23
+ * @returns Property search API response
24
+ * @see PropertySearchRequestBuilder For fluent construction of requests
25
+ */
26
+ searchProperties(request: PropertySearchRequest): Promise<PropertySearchResponse>;
27
+ /**
28
+ * Get the count of properties matching the search criteria
29
+ * @param searchCriteria Search criteria to match properties
30
+ * @returns Number of matching properties, or null if the endpoint is unavailable
31
+ */
32
+ getPropertyCount(searchRequest: PropertySearchRequest): Promise<number | null>;
33
+ /**
34
+ * Verify and normalize addresses (v1 API)
35
+ * POST /api/v1/address/verify
36
+ *
37
+ * @param request Address verification request
38
+ * @returns Address verification API response
39
+ */
40
+ verifyAddress(request: AddressVerifyRequest): Promise<AddressVerifyResponse>;
41
+ /**
42
+ * Get address autocomplete suggestions (v1 API)
43
+ * POST /api/v1/address/autocomplete
44
+ *
45
+ * @param request Address autocomplete request
46
+ * @returns Address autocomplete API response
47
+ */
48
+ autocompleteAddress(request: AddressAutocompleteRequest): Promise<AddressAutocompleteResponse>;
49
+ /**
50
+ * Geocode an address to coordinates (v1 API)
51
+ * POST /api/v1/address/geocode
52
+ *
53
+ * @param request Address geocode request
54
+ * @returns Address geocode API response
55
+ */
56
+ geocodeAddress(request: AddressGeocodeRequest): Promise<AddressGeocodeResponse>;
57
+ /**
58
+ * Reverse geocode coordinates to an address (v1 API)
59
+ * POST /api/v1/address/reverse-geocode
60
+ *
61
+ * @param request Address reverse geocode request
62
+ * @returns Address reverse geocode API response
63
+ */
64
+ reverseGeocodeAddress(request: AddressReverseGeocodeRequest): Promise<AddressReverseGeocodeResponse>;
65
+ /**
66
+ * Lookup property details by address, propertyId, hash, or APN (v1 API)
67
+ * POST /api/v1/property/lookup/all-attributes
68
+ *
69
+ * @param request Property lookup request
70
+ * @param request.requests Array of property lookup items (address, propertyId, hash, APN, etc.)
71
+ * @param request.options Request options (pagination, distance, bounding box, filters, webhooks, etc.)
72
+ * @returns Property lookup API response
73
+ * @see PropertyLookupRequestBuilder For fluent construction of requests
74
+ */
75
+ lookupProperty(request: PropertyLookupRequest): Promise<PropertyLookupResponse>;
76
+ /**
77
+ * Lookup property details asynchronously (v1 API)
78
+ * POST /api/v1/property/lookup/async
79
+ *
80
+ * @param request Property lookup async request
81
+ * @param request.requests Array of property lookup items (address, propertyId, hash, APN, etc.)
82
+ * @param request.options Request options (pagination, distance, bounding box, filters, webhooks, etc.)
83
+ * @returns Property lookup async API response (status only; full results delivered via webhook)
84
+ * @see PropertyLookupAsyncRequestBuilder For fluent construction of requests
85
+ */
86
+ lookupPropertyAsync(request: PropertyLookupAsyncRequest): Promise<PropertyLookupAsyncResponse>;
87
+ /**
88
+ * Search for properties asynchronously (v1 API)
89
+ * POST /api/v1/property/search/async
90
+ *
91
+ * @param request Property search async request
92
+ * @param request.searchCriteria Search criteria for property search
93
+ * @param request.options Request options (pagination, distance, bounding box, filters, webhooks, etc.)
94
+ * @returns Property search async API response (status only; full results delivered via webhook)
95
+ * @see PropertySearchAsyncRequestBuilder For fluent construction of requests
96
+ */
97
+ searchPropertiesAsync(request: PropertySearchAsyncRequest): Promise<PropertySearchAsyncResponse>;
98
+ /**
99
+ * Skip trace property owners (v1 API)
100
+ * POST /api/v1/property/skip-trace
101
+ *
102
+ * @param request Property skip trace request
103
+ * @returns Property skip trace API response
104
+ */
105
+ skipTraceProperty(request: PropertySkipTraceRequest): Promise<PropertySkipTraceResponse>;
106
+ /**
107
+ * Skip trace property owners asynchronously (v1 API)
108
+ * POST /api/v1/property/skip-trace/async
109
+ *
110
+ * @param request Property skip trace async request
111
+ * @returns Property skip trace async API response
112
+ */
113
+ skipTracePropertyAsync(request: PropertySkipTraceAsyncRequest): Promise<PropertySkipTraceAsyncResponse>;
114
+ /**
115
+ * Verify phone numbers (v1 API)
116
+ * POST /api/v1/phone/verification
117
+ *
118
+ * @param request Phone verification request
119
+ * @returns Phone verification API response
120
+ */
121
+ verifyPhone(request: PhoneVerificationRequest): Promise<PhoneVerificationResponse>;
122
+ /**
123
+ * Verify phone numbers asynchronously (v1 API)
124
+ * POST /api/v1/phone/verification/async
125
+ *
126
+ * @param request Phone verification async request
127
+ * @returns Phone verification async API response
128
+ */
129
+ verifyPhoneAsync(request: PhoneVerificationAsyncRequest): Promise<PhoneVerificationAsyncResponse>;
130
+ /**
131
+ * Check phone numbers against DNC (Do Not Call) list (v1 API)
132
+ * POST /api/v1/phone/dnc
133
+ *
134
+ * @param request Phone DNC request
135
+ * @returns Phone DNC API response
136
+ */
137
+ checkPhoneDNC(request: PhoneDNCRequest): Promise<PhoneDNCResponse>;
138
+ /**
139
+ * Check phone numbers against DNC list asynchronously (v1 API)
140
+ * POST /api/v1/phone/dnc/async
141
+ *
142
+ * @param request Phone DNC async request
143
+ * @returns Phone DNC async API response
144
+ */
145
+ checkPhoneDNCAsync(request: PhoneDNCAsyncRequest): Promise<PhoneDNCAsyncResponse>;
146
+ /**
147
+ * Check phone numbers for TCPA compliance (v1 API)
148
+ * POST /api/v1/phone/tcpa
149
+ *
150
+ * @param request Phone TCPA request
151
+ * @returns Phone TCPA API response
152
+ */
153
+ checkPhoneTCPA(request: PhoneTCPARequest): Promise<PhoneTCPAResponse>;
154
+ /**
155
+ * Check phone numbers for TCPA compliance asynchronously (v1 API)
156
+ * POST /api/v1/phone/tcpa/async
157
+ *
158
+ * @param request Phone TCPA async request
159
+ * @returns Phone TCPA async API response
160
+ */
161
+ checkPhoneTCPAAsync(request: PhoneTCPAAsyncRequest): Promise<PhoneTCPAAsyncResponse>;
162
+ /**
163
+ * Get all property subscriptions (v2 API)
164
+ * GET /api/v2/property-subscription
165
+ *
166
+ * @returns Array of property subscriptions
167
+ */
168
+ getPropertySubscriptions(): Promise<GetPropertySubscriptionsResponse>;
169
+ /**
170
+ * Get property subscription by ID (v2 API)
171
+ * GET /api/v2/property-subscription/{id}
172
+ *
173
+ * @param id Subscription ID
174
+ * @returns Property subscription detail
175
+ */
176
+ getPropertySubscription(id: string): Promise<GetPropertySubscriptionDetailResponse>;
177
+ /**
178
+ * Delete property subscription (v2 API)
179
+ * DELETE /api/v2/property-subscription/{id}
180
+ *
181
+ * @param id Subscription ID
182
+ * @returns Delete response
183
+ */
184
+ deletePropertySubscription(id: string): Promise<DeletePropertySubscriptionResponse>;
185
+ /**
186
+ * Get property permits (v2 API)
187
+ * POST /api/v2/property/permit
188
+ *
189
+ * @param request Property permit request
190
+ * @returns Property permit API response
191
+ * @see PropertyPermitRequestBuilder For fluent construction of requests
192
+ */
193
+ getPropertyPermit(request: PropertyPermitRequest): Promise<PropertyPermitResponse>;
194
+ /**
195
+ * Skip trace property owners (v3 API)
196
+ * POST /api/v3/property/skip-trace
197
+ *
198
+ * @param request Property skip trace v3 request
199
+ * @returns Property skip trace v3 API response
200
+ */
201
+ skipTracePropertyV3(request: PropertySkipTraceV3Request): Promise<PropertySkipTraceV3Response>;
202
+ /**
203
+ * Skip trace property owners asynchronously (v3 API)
204
+ * POST /api/v3/property/skip-trace/async
205
+ *
206
+ * @param request Property skip trace v3 async request
207
+ * @returns Property skip trace v3 async API response
208
+ */
209
+ skipTracePropertyV3Async(request: PropertySkipTraceV3AsyncRequest): Promise<PropertySkipTraceV3AsyncResponse>;
210
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });