@sentdm/sentdm 0.7.2 → 0.15.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/CHANGELOG.md +132 -0
- package/README.md +71 -34
- package/client.d.mts +49 -21
- package/client.d.mts.map +1 -1
- package/client.d.ts +49 -21
- package/client.d.ts.map +1 -1
- package/client.js +52 -38
- package/client.js.map +1 -1
- package/client.mjs +52 -38
- package/client.mjs.map +1 -1
- package/internal/tslib.js +17 -17
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +0 -1
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +0 -1
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/query.d.mts +5 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.d.ts +5 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +23 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +20 -0
- package/internal/utils/query.mjs.map +1 -0
- package/internal/utils.d.mts +1 -0
- package/internal/utils.d.ts +1 -0
- package/internal/utils.js +1 -0
- package/internal/utils.js.map +1 -1
- package/internal/utils.mjs +1 -0
- package/package.json +7 -1
- package/resources/contacts.d.mts +243 -49
- package/resources/contacts.d.mts.map +1 -1
- package/resources/contacts.d.ts +243 -49
- package/resources/contacts.d.ts.map +1 -1
- package/resources/contacts.js +112 -15
- package/resources/contacts.js.map +1 -1
- package/resources/contacts.mjs +112 -15
- package/resources/contacts.mjs.map +1 -1
- package/resources/index.d.mts +8 -4
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +8 -4
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +11 -3
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +5 -1
- package/resources/index.mjs.map +1 -1
- package/resources/me.d.mts +269 -0
- package/resources/me.d.mts.map +1 -0
- package/resources/me.d.ts +269 -0
- package/resources/me.d.ts.map +1 -0
- package/resources/me.js +40 -0
- package/resources/me.js.map +1 -0
- package/resources/me.mjs +36 -0
- package/resources/me.mjs.map +1 -0
- package/resources/messages.d.mts +239 -133
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts +239 -133
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js +42 -50
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs +42 -50
- package/resources/messages.mjs.map +1 -1
- package/resources/numbers.d.mts +70 -0
- package/resources/numbers.d.mts.map +1 -0
- package/resources/numbers.d.ts +70 -0
- package/resources/numbers.d.ts.map +1 -0
- package/resources/numbers.js +36 -0
- package/resources/numbers.js.map +1 -0
- package/resources/numbers.mjs +32 -0
- package/resources/numbers.mjs.map +1 -0
- package/resources/profiles/campaigns.d.mts +339 -0
- package/resources/profiles/campaigns.d.mts.map +1 -0
- package/resources/profiles/campaigns.d.ts +339 -0
- package/resources/profiles/campaigns.d.ts.map +1 -0
- package/resources/profiles/campaigns.js +148 -0
- package/resources/profiles/campaigns.js.map +1 -0
- package/resources/profiles/campaigns.mjs +144 -0
- package/resources/profiles/campaigns.mjs.map +1 -0
- package/resources/profiles/index.d.mts +3 -0
- package/resources/profiles/index.d.mts.map +1 -0
- package/resources/profiles/index.d.ts +3 -0
- package/resources/profiles/index.d.ts.map +1 -0
- package/resources/profiles/index.js +9 -0
- package/resources/profiles/index.js.map +1 -0
- package/resources/profiles/index.mjs +4 -0
- package/resources/profiles/index.mjs.map +1 -0
- package/resources/profiles/profiles.d.mts +967 -0
- package/resources/profiles/profiles.d.mts.map +1 -0
- package/resources/profiles/profiles.d.ts +967 -0
- package/resources/profiles/profiles.d.ts.map +1 -0
- package/resources/profiles/profiles.js +227 -0
- package/resources/profiles/profiles.js.map +1 -0
- package/resources/profiles/profiles.mjs +222 -0
- package/resources/profiles/profiles.mjs.map +1 -0
- package/resources/profiles.d.mts +2 -0
- package/resources/profiles.d.mts.map +1 -0
- package/resources/profiles.d.ts +2 -0
- package/resources/profiles.d.ts.map +1 -0
- package/resources/profiles.js +6 -0
- package/resources/profiles.js.map +1 -0
- package/resources/profiles.mjs +3 -0
- package/resources/profiles.mjs.map +1 -0
- package/resources/templates.d.mts +327 -191
- package/resources/templates.d.mts.map +1 -1
- package/resources/templates.d.ts +327 -191
- package/resources/templates.d.ts.map +1 -1
- package/resources/templates.js +80 -35
- package/resources/templates.js.map +1 -1
- package/resources/templates.mjs +80 -35
- package/resources/templates.mjs.map +1 -1
- package/resources/users.d.mts +251 -0
- package/resources/users.d.mts.map +1 -0
- package/resources/users.d.ts +251 -0
- package/resources/users.d.ts.map +1 -0
- package/resources/users.js +124 -0
- package/resources/users.js.map +1 -0
- package/resources/users.mjs +120 -0
- package/resources/users.mjs.map +1 -0
- package/resources/webhooks.d.mts +639 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +639 -0
- package/resources/webhooks.d.ts.map +1 -0
- package/resources/webhooks.js +237 -0
- package/resources/webhooks.js.map +1 -0
- package/resources/webhooks.mjs +233 -0
- package/resources/webhooks.mjs.map +1 -0
- package/src/client.ts +228 -80
- package/src/internal/utils/log.ts +0 -1
- package/src/internal/utils/query.ts +23 -0
- package/src/internal/utils.ts +1 -0
- package/src/resources/contacts.ts +335 -57
- package/src/resources/index.ts +81 -12
- package/src/resources/me.ts +333 -0
- package/src/resources/messages.ts +306 -147
- package/src/resources/numbers.ts +102 -0
- package/src/resources/profiles/campaigns.ts +501 -0
- package/src/resources/profiles/index.ts +38 -0
- package/src/resources/profiles/profiles.ts +1302 -0
- package/src/resources/profiles.ts +3 -0
- package/src/resources/templates.ts +424 -202
- package/src/resources/users.ts +366 -0
- package/src/resources/webhooks.ts +923 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.mts.map +1 -1
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
- package/resources/number-lookup.d.mts +0 -59
- package/resources/number-lookup.d.mts.map +0 -1
- package/resources/number-lookup.d.ts +0 -59
- package/resources/number-lookup.d.ts.map +0 -1
- package/resources/number-lookup.js +0 -17
- package/resources/number-lookup.js.map +0 -1
- package/resources/number-lookup.mjs +0 -13
- package/resources/number-lookup.mjs.map +0 -1
- package/src/resources/number-lookup.ts +0 -80
|
@@ -0,0 +1,923 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import * as WebhooksAPI from './webhooks';
|
|
5
|
+
import { APIPromise } from '../core/api-promise';
|
|
6
|
+
import { buildHeaders } from '../internal/headers';
|
|
7
|
+
import { RequestOptions } from '../internal/request-options';
|
|
8
|
+
import { path } from '../internal/utils/path';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Configure webhook endpoints for real-time event delivery
|
|
12
|
+
*/
|
|
13
|
+
export class Webhooks extends APIResource {
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new webhook endpoint for the authenticated customer.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const apiResponseWebhook = await client.webhooks.create();
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
create(params: WebhookCreateParams, options?: RequestOptions): APIPromise<APIResponseWebhook> {
|
|
23
|
+
const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
|
|
24
|
+
return this._client.post('/v3/webhooks', {
|
|
25
|
+
body,
|
|
26
|
+
...options,
|
|
27
|
+
headers: buildHeaders([
|
|
28
|
+
{
|
|
29
|
+
...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
|
|
30
|
+
...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
|
|
31
|
+
},
|
|
32
|
+
options?.headers,
|
|
33
|
+
]),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves a single webhook by ID for the authenticated customer.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const apiResponseWebhook = await client.webhooks.retrieve(
|
|
43
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
44
|
+
* );
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
retrieve(
|
|
48
|
+
id: string,
|
|
49
|
+
params: WebhookRetrieveParams | null | undefined = {},
|
|
50
|
+
options?: RequestOptions,
|
|
51
|
+
): APIPromise<APIResponseWebhook> {
|
|
52
|
+
const { 'x-profile-id': xProfileID } = params ?? {};
|
|
53
|
+
return this._client.get(path`/v3/webhooks/${id}`, {
|
|
54
|
+
...options,
|
|
55
|
+
headers: buildHeaders([
|
|
56
|
+
{ ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
|
|
57
|
+
options?.headers,
|
|
58
|
+
]),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Updates an existing webhook for the authenticated customer.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const apiResponseWebhook = await client.webhooks.update(
|
|
68
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
69
|
+
* );
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
update(id: string, params: WebhookUpdateParams, options?: RequestOptions): APIPromise<APIResponseWebhook> {
|
|
73
|
+
const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
|
|
74
|
+
return this._client.put(path`/v3/webhooks/${id}`, {
|
|
75
|
+
body,
|
|
76
|
+
...options,
|
|
77
|
+
headers: buildHeaders([
|
|
78
|
+
{
|
|
79
|
+
...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
|
|
80
|
+
...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
|
|
81
|
+
},
|
|
82
|
+
options?.headers,
|
|
83
|
+
]),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Retrieves a paginated list of webhooks for the authenticated customer.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const webhooks = await client.webhooks.list({
|
|
93
|
+
* page: 0,
|
|
94
|
+
* page_size: 0,
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
list(params: WebhookListParams, options?: RequestOptions): APIPromise<WebhookListResponse> {
|
|
99
|
+
const { 'x-profile-id': xProfileID, ...query } = params;
|
|
100
|
+
return this._client.get('/v3/webhooks', {
|
|
101
|
+
query,
|
|
102
|
+
...options,
|
|
103
|
+
headers: buildHeaders([
|
|
104
|
+
{ ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
|
|
105
|
+
options?.headers,
|
|
106
|
+
]),
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Deletes a webhook for the authenticated customer.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* await client.webhooks.delete(
|
|
116
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
117
|
+
* );
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
delete(
|
|
121
|
+
id: string,
|
|
122
|
+
params: WebhookDeleteParams | null | undefined = {},
|
|
123
|
+
options?: RequestOptions,
|
|
124
|
+
): APIPromise<void> {
|
|
125
|
+
const { 'x-profile-id': xProfileID } = params ?? {};
|
|
126
|
+
return this._client.delete(path`/v3/webhooks/${id}`, {
|
|
127
|
+
...options,
|
|
128
|
+
headers: buildHeaders([
|
|
129
|
+
{ Accept: '*/*', ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
|
|
130
|
+
options?.headers,
|
|
131
|
+
]),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Retrieves all available webhook event types that can be subscribed to.
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```ts
|
|
140
|
+
* const response = await client.webhooks.listEventTypes();
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
listEventTypes(
|
|
144
|
+
params: WebhookListEventTypesParams | null | undefined = {},
|
|
145
|
+
options?: RequestOptions,
|
|
146
|
+
): APIPromise<WebhookListEventTypesResponse> {
|
|
147
|
+
const { 'x-profile-id': xProfileID } = params ?? {};
|
|
148
|
+
return this._client.get('/v3/webhooks/event-types', {
|
|
149
|
+
...options,
|
|
150
|
+
headers: buildHeaders([
|
|
151
|
+
{ ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
|
|
152
|
+
options?.headers,
|
|
153
|
+
]),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Retrieves a paginated list of delivery events for the specified webhook.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* const response = await client.webhooks.listEvents(
|
|
163
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
164
|
+
* { page: 0, page_size: 0 },
|
|
165
|
+
* );
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
listEvents(
|
|
169
|
+
id: string,
|
|
170
|
+
params: WebhookListEventsParams,
|
|
171
|
+
options?: RequestOptions,
|
|
172
|
+
): APIPromise<WebhookListEventsResponse> {
|
|
173
|
+
const { 'x-profile-id': xProfileID, ...query } = params;
|
|
174
|
+
return this._client.get(path`/v3/webhooks/${id}/events`, {
|
|
175
|
+
query,
|
|
176
|
+
...options,
|
|
177
|
+
headers: buildHeaders([
|
|
178
|
+
{ ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
|
|
179
|
+
options?.headers,
|
|
180
|
+
]),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Generates a new signing secret for the specified webhook. The old secret is
|
|
186
|
+
* immediately invalidated.
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```ts
|
|
190
|
+
* const response = await client.webhooks.rotateSecret(
|
|
191
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
192
|
+
* { body: {} },
|
|
193
|
+
* );
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
rotateSecret(
|
|
197
|
+
id: string,
|
|
198
|
+
params: WebhookRotateSecretParams,
|
|
199
|
+
options?: RequestOptions,
|
|
200
|
+
): APIPromise<WebhookRotateSecretResponse> {
|
|
201
|
+
const { body, 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID } = params;
|
|
202
|
+
return this._client.post(path`/v3/webhooks/${id}/rotate-secret`, {
|
|
203
|
+
body: body,
|
|
204
|
+
...options,
|
|
205
|
+
headers: buildHeaders([
|
|
206
|
+
{
|
|
207
|
+
...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
|
|
208
|
+
...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
|
|
209
|
+
},
|
|
210
|
+
options?.headers,
|
|
211
|
+
]),
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Sends a test event to the specified webhook endpoint to verify connectivity.
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```ts
|
|
220
|
+
* const response = await client.webhooks.test(
|
|
221
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
222
|
+
* );
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
test(id: string, params: WebhookTestParams, options?: RequestOptions): APIPromise<WebhookTestResponse> {
|
|
226
|
+
const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
|
|
227
|
+
return this._client.post(path`/v3/webhooks/${id}/test`, {
|
|
228
|
+
body,
|
|
229
|
+
...options,
|
|
230
|
+
headers: buildHeaders([
|
|
231
|
+
{
|
|
232
|
+
...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
|
|
233
|
+
...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
|
|
234
|
+
},
|
|
235
|
+
options?.headers,
|
|
236
|
+
]),
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Activates or deactivates a webhook for the authenticated customer.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```ts
|
|
245
|
+
* const apiResponseWebhook =
|
|
246
|
+
* await client.webhooks.toggleStatus(
|
|
247
|
+
* 'd4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8',
|
|
248
|
+
* );
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
toggleStatus(
|
|
252
|
+
id: string,
|
|
253
|
+
params: WebhookToggleStatusParams,
|
|
254
|
+
options?: RequestOptions,
|
|
255
|
+
): APIPromise<APIResponseWebhook> {
|
|
256
|
+
const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
|
|
257
|
+
return this._client.patch(path`/v3/webhooks/${id}/toggle-status`, {
|
|
258
|
+
body,
|
|
259
|
+
...options,
|
|
260
|
+
headers: buildHeaders([
|
|
261
|
+
{
|
|
262
|
+
...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
|
|
263
|
+
...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
|
|
264
|
+
},
|
|
265
|
+
options?.headers,
|
|
266
|
+
]),
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Request and response metadata
|
|
273
|
+
*/
|
|
274
|
+
export interface APIMeta {
|
|
275
|
+
/**
|
|
276
|
+
* Unique identifier for this request (for tracing and support)
|
|
277
|
+
*/
|
|
278
|
+
request_id?: string;
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Server timestamp when the response was generated
|
|
282
|
+
*/
|
|
283
|
+
timestamp?: string;
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* API version used for this request
|
|
287
|
+
*/
|
|
288
|
+
version?: string;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Standard API response envelope for all v3 endpoints
|
|
293
|
+
*/
|
|
294
|
+
export interface APIResponseWebhook {
|
|
295
|
+
/**
|
|
296
|
+
* The response data (null if error)
|
|
297
|
+
*/
|
|
298
|
+
data?: WebhookResponse | null;
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Error information
|
|
302
|
+
*/
|
|
303
|
+
error?: ErrorDetail | null;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Request and response metadata
|
|
307
|
+
*/
|
|
308
|
+
meta?: APIMeta;
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Indicates whether the request was successful
|
|
312
|
+
*/
|
|
313
|
+
success?: boolean;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Error information
|
|
318
|
+
*/
|
|
319
|
+
export interface ErrorDetail {
|
|
320
|
+
/**
|
|
321
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
322
|
+
*/
|
|
323
|
+
code?: string;
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Additional validation error details (field-level errors)
|
|
327
|
+
*/
|
|
328
|
+
details?: { [key: string]: Array<string> } | null;
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* URL to documentation about this error
|
|
332
|
+
*/
|
|
333
|
+
doc_url?: string | null;
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Human-readable error message
|
|
337
|
+
*/
|
|
338
|
+
message?: string;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export interface MutationRequest {
|
|
342
|
+
/**
|
|
343
|
+
* Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
344
|
+
* for testing integrations without actual execution
|
|
345
|
+
*/
|
|
346
|
+
sandbox?: boolean;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Pagination metadata for list responses
|
|
351
|
+
*/
|
|
352
|
+
export interface PaginationMeta {
|
|
353
|
+
/**
|
|
354
|
+
* Cursor-based pagination pointers
|
|
355
|
+
*/
|
|
356
|
+
cursors?: PaginationMeta.Cursors | null;
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Whether there are more pages after this one
|
|
360
|
+
*/
|
|
361
|
+
has_more?: boolean;
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Current page number (1-indexed)
|
|
365
|
+
*/
|
|
366
|
+
page?: number;
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Number of items per page
|
|
370
|
+
*/
|
|
371
|
+
page_size?: number;
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Total number of items across all pages
|
|
375
|
+
*/
|
|
376
|
+
total_count?: number;
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Total number of pages
|
|
380
|
+
*/
|
|
381
|
+
total_pages?: number;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
export namespace PaginationMeta {
|
|
385
|
+
/**
|
|
386
|
+
* Cursor-based pagination pointers
|
|
387
|
+
*/
|
|
388
|
+
export interface Cursors {
|
|
389
|
+
/**
|
|
390
|
+
* Cursor to fetch the next page
|
|
391
|
+
*/
|
|
392
|
+
after?: string | null;
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Cursor to fetch the previous page
|
|
396
|
+
*/
|
|
397
|
+
before?: string | null;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
export interface WebhookResponse {
|
|
402
|
+
id?: string;
|
|
403
|
+
|
|
404
|
+
consecutive_failures?: number;
|
|
405
|
+
|
|
406
|
+
created_at?: string;
|
|
407
|
+
|
|
408
|
+
display_name?: string;
|
|
409
|
+
|
|
410
|
+
endpoint_url?: string;
|
|
411
|
+
|
|
412
|
+
event_types?: Array<string>;
|
|
413
|
+
|
|
414
|
+
is_active?: boolean;
|
|
415
|
+
|
|
416
|
+
last_delivery_attempt_at?: string | null;
|
|
417
|
+
|
|
418
|
+
last_successful_delivery_at?: string | null;
|
|
419
|
+
|
|
420
|
+
retry_count?: number;
|
|
421
|
+
|
|
422
|
+
signing_secret?: string | null;
|
|
423
|
+
|
|
424
|
+
timeout_seconds?: number;
|
|
425
|
+
|
|
426
|
+
updated_at?: string | null;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Standard API response envelope for all v3 endpoints
|
|
431
|
+
*/
|
|
432
|
+
export interface WebhookListResponse {
|
|
433
|
+
/**
|
|
434
|
+
* The response data (null if error)
|
|
435
|
+
*/
|
|
436
|
+
data?: WebhookListResponse.Data | null;
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Error information
|
|
440
|
+
*/
|
|
441
|
+
error?: ErrorDetail | null;
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Request and response metadata
|
|
445
|
+
*/
|
|
446
|
+
meta?: APIMeta;
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Indicates whether the request was successful
|
|
450
|
+
*/
|
|
451
|
+
success?: boolean;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
export namespace WebhookListResponse {
|
|
455
|
+
/**
|
|
456
|
+
* The response data (null if error)
|
|
457
|
+
*/
|
|
458
|
+
export interface Data {
|
|
459
|
+
/**
|
|
460
|
+
* Pagination metadata for list responses
|
|
461
|
+
*/
|
|
462
|
+
pagination?: WebhooksAPI.PaginationMeta;
|
|
463
|
+
|
|
464
|
+
webhooks?: Array<WebhooksAPI.WebhookResponse>;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Standard API response envelope for all v3 endpoints
|
|
470
|
+
*/
|
|
471
|
+
export interface WebhookListEventTypesResponse {
|
|
472
|
+
/**
|
|
473
|
+
* The response data (null if error)
|
|
474
|
+
*/
|
|
475
|
+
data?: WebhookListEventTypesResponse.Data | null;
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Error information
|
|
479
|
+
*/
|
|
480
|
+
error?: ErrorDetail | null;
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Request and response metadata
|
|
484
|
+
*/
|
|
485
|
+
meta?: APIMeta;
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Indicates whether the request was successful
|
|
489
|
+
*/
|
|
490
|
+
success?: boolean;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
export namespace WebhookListEventTypesResponse {
|
|
494
|
+
/**
|
|
495
|
+
* The response data (null if error)
|
|
496
|
+
*/
|
|
497
|
+
export interface Data {
|
|
498
|
+
event_types?: Array<Data.EventType>;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
export namespace Data {
|
|
502
|
+
export interface EventType {
|
|
503
|
+
description?: string | null;
|
|
504
|
+
|
|
505
|
+
display_name?: string;
|
|
506
|
+
|
|
507
|
+
is_active?: boolean;
|
|
508
|
+
|
|
509
|
+
name?: string;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* Standard API response envelope for all v3 endpoints
|
|
516
|
+
*/
|
|
517
|
+
export interface WebhookListEventsResponse {
|
|
518
|
+
/**
|
|
519
|
+
* The response data (null if error)
|
|
520
|
+
*/
|
|
521
|
+
data?: WebhookListEventsResponse.Data | null;
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Error information
|
|
525
|
+
*/
|
|
526
|
+
error?: ErrorDetail | null;
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Request and response metadata
|
|
530
|
+
*/
|
|
531
|
+
meta?: APIMeta;
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Indicates whether the request was successful
|
|
535
|
+
*/
|
|
536
|
+
success?: boolean;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export namespace WebhookListEventsResponse {
|
|
540
|
+
/**
|
|
541
|
+
* The response data (null if error)
|
|
542
|
+
*/
|
|
543
|
+
export interface Data {
|
|
544
|
+
events?: Array<Data.Event>;
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Pagination metadata for list responses
|
|
548
|
+
*/
|
|
549
|
+
pagination?: WebhooksAPI.PaginationMeta;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
export namespace Data {
|
|
553
|
+
export interface Event {
|
|
554
|
+
id?: string;
|
|
555
|
+
|
|
556
|
+
created_at?: string;
|
|
557
|
+
|
|
558
|
+
delivery_attempts?: number;
|
|
559
|
+
|
|
560
|
+
delivery_status?: string;
|
|
561
|
+
|
|
562
|
+
error_message?: string | null;
|
|
563
|
+
|
|
564
|
+
event_data?: unknown;
|
|
565
|
+
|
|
566
|
+
event_type?: string;
|
|
567
|
+
|
|
568
|
+
http_status_code?: number | null;
|
|
569
|
+
|
|
570
|
+
processing_completed_at?: string | null;
|
|
571
|
+
|
|
572
|
+
processing_started_at?: string | null;
|
|
573
|
+
|
|
574
|
+
response_body?: string | null;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Standard API response envelope for all v3 endpoints
|
|
581
|
+
*/
|
|
582
|
+
export interface WebhookRotateSecretResponse {
|
|
583
|
+
/**
|
|
584
|
+
* The response data (null if error)
|
|
585
|
+
*/
|
|
586
|
+
data?: WebhookRotateSecretResponse.Data | null;
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Error information
|
|
590
|
+
*/
|
|
591
|
+
error?: ErrorDetail | null;
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Request and response metadata
|
|
595
|
+
*/
|
|
596
|
+
meta?: APIMeta;
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* Indicates whether the request was successful
|
|
600
|
+
*/
|
|
601
|
+
success?: boolean;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
export namespace WebhookRotateSecretResponse {
|
|
605
|
+
/**
|
|
606
|
+
* The response data (null if error)
|
|
607
|
+
*/
|
|
608
|
+
export interface Data {
|
|
609
|
+
signing_secret?: string;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Standard API response envelope for all v3 endpoints
|
|
615
|
+
*/
|
|
616
|
+
export interface WebhookTestResponse {
|
|
617
|
+
/**
|
|
618
|
+
* The response data (null if error)
|
|
619
|
+
*/
|
|
620
|
+
data?: WebhookTestResponse.Data | null;
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Error information
|
|
624
|
+
*/
|
|
625
|
+
error?: ErrorDetail | null;
|
|
626
|
+
|
|
627
|
+
/**
|
|
628
|
+
* Request and response metadata
|
|
629
|
+
*/
|
|
630
|
+
meta?: APIMeta;
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* Indicates whether the request was successful
|
|
634
|
+
*/
|
|
635
|
+
success?: boolean;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
export namespace WebhookTestResponse {
|
|
639
|
+
/**
|
|
640
|
+
* The response data (null if error)
|
|
641
|
+
*/
|
|
642
|
+
export interface Data {
|
|
643
|
+
message?: string;
|
|
644
|
+
|
|
645
|
+
success?: boolean;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
export interface WebhookCreateParams {
|
|
650
|
+
/**
|
|
651
|
+
* Body param
|
|
652
|
+
*/
|
|
653
|
+
display_name?: string;
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Body param
|
|
657
|
+
*/
|
|
658
|
+
endpoint_url?: string;
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Body param
|
|
662
|
+
*/
|
|
663
|
+
event_types?: Array<string>;
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Body param
|
|
667
|
+
*/
|
|
668
|
+
retry_count?: number;
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
672
|
+
* effects Useful for testing integrations without actual execution
|
|
673
|
+
*/
|
|
674
|
+
sandbox?: boolean;
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* Body param
|
|
678
|
+
*/
|
|
679
|
+
timeout_seconds?: number;
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
683
|
+
* alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
684
|
+
* hours per key per customer.
|
|
685
|
+
*/
|
|
686
|
+
'Idempotency-Key'?: string;
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
690
|
+
* organization API keys can use this header. The profile must belong to the
|
|
691
|
+
* calling organization.
|
|
692
|
+
*/
|
|
693
|
+
'x-profile-id'?: string;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export interface WebhookRetrieveParams {
|
|
697
|
+
/**
|
|
698
|
+
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
699
|
+
* can use this header. The profile must belong to the calling organization.
|
|
700
|
+
*/
|
|
701
|
+
'x-profile-id'?: string;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
export interface WebhookUpdateParams {
|
|
705
|
+
/**
|
|
706
|
+
* Body param
|
|
707
|
+
*/
|
|
708
|
+
display_name?: string;
|
|
709
|
+
|
|
710
|
+
/**
|
|
711
|
+
* Body param
|
|
712
|
+
*/
|
|
713
|
+
endpoint_url?: string;
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* Body param
|
|
717
|
+
*/
|
|
718
|
+
event_types?: Array<string>;
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* Body param
|
|
722
|
+
*/
|
|
723
|
+
retry_count?: number;
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
727
|
+
* effects Useful for testing integrations without actual execution
|
|
728
|
+
*/
|
|
729
|
+
sandbox?: boolean;
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* Body param
|
|
733
|
+
*/
|
|
734
|
+
timeout_seconds?: number;
|
|
735
|
+
|
|
736
|
+
/**
|
|
737
|
+
* Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
738
|
+
* alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
739
|
+
* hours per key per customer.
|
|
740
|
+
*/
|
|
741
|
+
'Idempotency-Key'?: string;
|
|
742
|
+
|
|
743
|
+
/**
|
|
744
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
745
|
+
* organization API keys can use this header. The profile must belong to the
|
|
746
|
+
* calling organization.
|
|
747
|
+
*/
|
|
748
|
+
'x-profile-id'?: string;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
export interface WebhookListParams {
|
|
752
|
+
/**
|
|
753
|
+
* Query param
|
|
754
|
+
*/
|
|
755
|
+
page: number;
|
|
756
|
+
|
|
757
|
+
/**
|
|
758
|
+
* Query param
|
|
759
|
+
*/
|
|
760
|
+
page_size: number;
|
|
761
|
+
|
|
762
|
+
/**
|
|
763
|
+
* Query param
|
|
764
|
+
*/
|
|
765
|
+
is_active?: boolean | null;
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* Query param
|
|
769
|
+
*/
|
|
770
|
+
search?: string | null;
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
774
|
+
* organization API keys can use this header. The profile must belong to the
|
|
775
|
+
* calling organization.
|
|
776
|
+
*/
|
|
777
|
+
'x-profile-id'?: string;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
export interface WebhookDeleteParams {
|
|
781
|
+
/**
|
|
782
|
+
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
783
|
+
* can use this header. The profile must belong to the calling organization.
|
|
784
|
+
*/
|
|
785
|
+
'x-profile-id'?: string;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
export interface WebhookListEventTypesParams {
|
|
789
|
+
/**
|
|
790
|
+
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
791
|
+
* can use this header. The profile must belong to the calling organization.
|
|
792
|
+
*/
|
|
793
|
+
'x-profile-id'?: string;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
export interface WebhookListEventsParams {
|
|
797
|
+
/**
|
|
798
|
+
* Query param
|
|
799
|
+
*/
|
|
800
|
+
page: number;
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* Query param
|
|
804
|
+
*/
|
|
805
|
+
page_size: number;
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
* Query param
|
|
809
|
+
*/
|
|
810
|
+
search?: string | null;
|
|
811
|
+
|
|
812
|
+
/**
|
|
813
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
814
|
+
* organization API keys can use this header. The profile must belong to the
|
|
815
|
+
* calling organization.
|
|
816
|
+
*/
|
|
817
|
+
'x-profile-id'?: string;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
export interface WebhookRotateSecretParams {
|
|
821
|
+
/**
|
|
822
|
+
* Body param
|
|
823
|
+
*/
|
|
824
|
+
body: WebhookRotateSecretParams.Body;
|
|
825
|
+
|
|
826
|
+
/**
|
|
827
|
+
* Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
828
|
+
* alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
829
|
+
* hours per key per customer.
|
|
830
|
+
*/
|
|
831
|
+
'Idempotency-Key'?: string;
|
|
832
|
+
|
|
833
|
+
/**
|
|
834
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
835
|
+
* organization API keys can use this header. The profile must belong to the
|
|
836
|
+
* calling organization.
|
|
837
|
+
*/
|
|
838
|
+
'x-profile-id'?: string;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
export namespace WebhookRotateSecretParams {
|
|
842
|
+
export interface Body extends WebhooksAPI.MutationRequest {}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
export interface WebhookTestParams {
|
|
846
|
+
/**
|
|
847
|
+
* Body param
|
|
848
|
+
*/
|
|
849
|
+
event_type?: string;
|
|
850
|
+
|
|
851
|
+
/**
|
|
852
|
+
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
853
|
+
* effects Useful for testing integrations without actual execution
|
|
854
|
+
*/
|
|
855
|
+
sandbox?: boolean;
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
859
|
+
* alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
860
|
+
* hours per key per customer.
|
|
861
|
+
*/
|
|
862
|
+
'Idempotency-Key'?: string;
|
|
863
|
+
|
|
864
|
+
/**
|
|
865
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
866
|
+
* organization API keys can use this header. The profile must belong to the
|
|
867
|
+
* calling organization.
|
|
868
|
+
*/
|
|
869
|
+
'x-profile-id'?: string;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
export interface WebhookToggleStatusParams {
|
|
873
|
+
/**
|
|
874
|
+
* Body param
|
|
875
|
+
*/
|
|
876
|
+
is_active?: boolean;
|
|
877
|
+
|
|
878
|
+
/**
|
|
879
|
+
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
880
|
+
* effects Useful for testing integrations without actual execution
|
|
881
|
+
*/
|
|
882
|
+
sandbox?: boolean;
|
|
883
|
+
|
|
884
|
+
/**
|
|
885
|
+
* Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
886
|
+
* alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
887
|
+
* hours per key per customer.
|
|
888
|
+
*/
|
|
889
|
+
'Idempotency-Key'?: string;
|
|
890
|
+
|
|
891
|
+
/**
|
|
892
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
893
|
+
* organization API keys can use this header. The profile must belong to the
|
|
894
|
+
* calling organization.
|
|
895
|
+
*/
|
|
896
|
+
'x-profile-id'?: string;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
export declare namespace Webhooks {
|
|
900
|
+
export {
|
|
901
|
+
type APIMeta as APIMeta,
|
|
902
|
+
type APIResponseWebhook as APIResponseWebhook,
|
|
903
|
+
type ErrorDetail as ErrorDetail,
|
|
904
|
+
type MutationRequest as MutationRequest,
|
|
905
|
+
type PaginationMeta as PaginationMeta,
|
|
906
|
+
type WebhookResponse as WebhookResponse,
|
|
907
|
+
type WebhookListResponse as WebhookListResponse,
|
|
908
|
+
type WebhookListEventTypesResponse as WebhookListEventTypesResponse,
|
|
909
|
+
type WebhookListEventsResponse as WebhookListEventsResponse,
|
|
910
|
+
type WebhookRotateSecretResponse as WebhookRotateSecretResponse,
|
|
911
|
+
type WebhookTestResponse as WebhookTestResponse,
|
|
912
|
+
type WebhookCreateParams as WebhookCreateParams,
|
|
913
|
+
type WebhookRetrieveParams as WebhookRetrieveParams,
|
|
914
|
+
type WebhookUpdateParams as WebhookUpdateParams,
|
|
915
|
+
type WebhookListParams as WebhookListParams,
|
|
916
|
+
type WebhookDeleteParams as WebhookDeleteParams,
|
|
917
|
+
type WebhookListEventTypesParams as WebhookListEventTypesParams,
|
|
918
|
+
type WebhookListEventsParams as WebhookListEventsParams,
|
|
919
|
+
type WebhookRotateSecretParams as WebhookRotateSecretParams,
|
|
920
|
+
type WebhookTestParams as WebhookTestParams,
|
|
921
|
+
type WebhookToggleStatusParams as WebhookToggleStatusParams,
|
|
922
|
+
};
|
|
923
|
+
}
|