@samva/webhooks 0.20.0 → 0.21.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.
@@ -11,14 +11,13 @@ const WebhookEventJsonSchemas = {
11
11
  data: {
12
12
  type: "object",
13
13
  properties: {
14
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
14
+ mailboxId: { anyOf: [{
15
+ type: "string",
16
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
17
+ }, { type: "null" }] },
15
18
  channel: {
16
19
  type: "string",
17
- enum: [
18
- "sms",
19
- "whatsapp",
20
- "email"
21
- ]
20
+ enum: ["email"]
22
21
  },
23
22
  status: { anyOf: [{ type: "string" }, { type: "null" }] },
24
23
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
@@ -30,24 +29,14 @@ const WebhookEventJsonSchemas = {
30
29
  conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
31
30
  isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
32
31
  messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
33
- templateCategory: { anyOf: [{
34
- type: "string",
35
- enum: [
36
- "marketing",
37
- "utility",
38
- "authentication"
39
- ]
40
- }, { type: "null" }] },
41
32
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
42
33
  toEmails: { anyOf: [{
43
34
  type: "array",
44
35
  items: { type: "string" }
45
36
  }, { type: "null" }] },
46
37
  providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
47
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
48
38
  hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
49
39
  isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
50
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
51
40
  to: { anyOf: [{ type: "string" }, { type: "null" }] },
52
41
  from: { anyOf: [{ type: "string" }, { type: "null" }] },
53
42
  body: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -56,8 +45,6 @@ const WebhookEventJsonSchemas = {
56
45
  enum: ["inbound", "outbound"]
57
46
  }, { type: "null" }] },
58
47
  errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
59
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
60
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
61
48
  messageId: { type: "string" },
62
49
  organizationId: { type: "string" }
63
50
  },
@@ -74,11 +61,7 @@ const WebhookEventJsonSchemas = {
74
61
  "timestamp",
75
62
  "data"
76
63
  ],
77
- additionalProperties: true,
78
- $defs: { MailboxId: {
79
- type: "string",
80
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
81
- } }
64
+ additionalProperties: true
82
65
  },
83
66
  "message.delivered": {
84
67
  type: "object",
@@ -91,94 +74,13 @@ const WebhookEventJsonSchemas = {
91
74
  data: {
92
75
  type: "object",
93
76
  properties: {
94
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
95
- channel: {
96
- type: "string",
97
- enum: [
98
- "sms",
99
- "whatsapp",
100
- "email"
101
- ]
102
- },
103
- status: { anyOf: [{ type: "string" }, { type: "null" }] },
104
- metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
105
- cost: { anyOf: [{ type: "number" }, { type: "null" }] },
106
- recipient: { anyOf: [{ type: "string" }, { type: "null" }] },
107
- occurredAt: { anyOf: [{ type: "string" }, { type: "null" }] },
108
- failureReason: { anyOf: [{ type: "string" }, { type: "null" }] },
109
- errorCode: { anyOf: [{ type: "string" }, { type: "null" }] },
110
- conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
111
- isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
112
- messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
113
- templateCategory: { anyOf: [{
114
- type: "string",
115
- enum: [
116
- "marketing",
117
- "utility",
118
- "authentication"
119
- ]
120
- }, { type: "null" }] },
121
- subject: { anyOf: [{ type: "string" }, { type: "null" }] },
122
- toEmails: { anyOf: [{
123
- type: "array",
124
- items: { type: "string" }
125
- }, { type: "null" }] },
126
- providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
127
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
128
- hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
129
- isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
130
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
131
- to: { anyOf: [{ type: "string" }, { type: "null" }] },
132
- from: { anyOf: [{ type: "string" }, { type: "null" }] },
133
- body: { anyOf: [{ type: "string" }, { type: "null" }] },
134
- direction: { anyOf: [{
77
+ mailboxId: { anyOf: [{
135
78
  type: "string",
136
- enum: ["inbound", "outbound"]
79
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
137
80
  }, { type: "null" }] },
138
- errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
139
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
140
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
141
- messageId: { type: "string" },
142
- organizationId: { type: "string" }
143
- },
144
- required: [
145
- "channel",
146
- "messageId",
147
- "organizationId"
148
- ],
149
- additionalProperties: true
150
- }
151
- },
152
- required: [
153
- "type",
154
- "timestamp",
155
- "data"
156
- ],
157
- additionalProperties: true,
158
- $defs: { MailboxId: {
159
- type: "string",
160
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
161
- } }
162
- },
163
- "message.read": {
164
- type: "object",
165
- properties: {
166
- type: {
167
- type: "string",
168
- enum: ["message.read"]
169
- },
170
- timestamp: { type: "string" },
171
- data: {
172
- type: "object",
173
- properties: {
174
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
175
81
  channel: {
176
82
  type: "string",
177
- enum: [
178
- "sms",
179
- "whatsapp",
180
- "email"
181
- ]
83
+ enum: ["email"]
182
84
  },
183
85
  status: { anyOf: [{ type: "string" }, { type: "null" }] },
184
86
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
@@ -190,24 +92,14 @@ const WebhookEventJsonSchemas = {
190
92
  conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
191
93
  isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
192
94
  messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
193
- templateCategory: { anyOf: [{
194
- type: "string",
195
- enum: [
196
- "marketing",
197
- "utility",
198
- "authentication"
199
- ]
200
- }, { type: "null" }] },
201
95
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
202
96
  toEmails: { anyOf: [{
203
97
  type: "array",
204
98
  items: { type: "string" }
205
99
  }, { type: "null" }] },
206
100
  providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
207
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
208
101
  hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
209
102
  isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
210
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
211
103
  to: { anyOf: [{ type: "string" }, { type: "null" }] },
212
104
  from: { anyOf: [{ type: "string" }, { type: "null" }] },
213
105
  body: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -216,8 +108,6 @@ const WebhookEventJsonSchemas = {
216
108
  enum: ["inbound", "outbound"]
217
109
  }, { type: "null" }] },
218
110
  errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
219
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
220
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
221
111
  messageId: { type: "string" },
222
112
  organizationId: { type: "string" }
223
113
  },
@@ -234,11 +124,7 @@ const WebhookEventJsonSchemas = {
234
124
  "timestamp",
235
125
  "data"
236
126
  ],
237
- additionalProperties: true,
238
- $defs: { MailboxId: {
239
- type: "string",
240
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
241
- } }
127
+ additionalProperties: true
242
128
  },
243
129
  "message.failed": {
244
130
  type: "object",
@@ -251,14 +137,13 @@ const WebhookEventJsonSchemas = {
251
137
  data: {
252
138
  type: "object",
253
139
  properties: {
254
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
140
+ mailboxId: { anyOf: [{
141
+ type: "string",
142
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
143
+ }, { type: "null" }] },
255
144
  channel: {
256
145
  type: "string",
257
- enum: [
258
- "sms",
259
- "whatsapp",
260
- "email"
261
- ]
146
+ enum: ["email"]
262
147
  },
263
148
  status: { anyOf: [{ type: "string" }, { type: "null" }] },
264
149
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
@@ -270,24 +155,14 @@ const WebhookEventJsonSchemas = {
270
155
  conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
271
156
  isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
272
157
  messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
273
- templateCategory: { anyOf: [{
274
- type: "string",
275
- enum: [
276
- "marketing",
277
- "utility",
278
- "authentication"
279
- ]
280
- }, { type: "null" }] },
281
158
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
282
159
  toEmails: { anyOf: [{
283
160
  type: "array",
284
161
  items: { type: "string" }
285
162
  }, { type: "null" }] },
286
163
  providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
287
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
288
164
  hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
289
165
  isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
290
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
291
166
  to: { anyOf: [{ type: "string" }, { type: "null" }] },
292
167
  from: { anyOf: [{ type: "string" }, { type: "null" }] },
293
168
  body: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -296,8 +171,6 @@ const WebhookEventJsonSchemas = {
296
171
  enum: ["inbound", "outbound"]
297
172
  }, { type: "null" }] },
298
173
  errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
299
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
300
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
301
174
  messageId: { type: "string" },
302
175
  organizationId: { type: "string" }
303
176
  },
@@ -314,11 +187,7 @@ const WebhookEventJsonSchemas = {
314
187
  "timestamp",
315
188
  "data"
316
189
  ],
317
- additionalProperties: true,
318
- $defs: { MailboxId: {
319
- type: "string",
320
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
321
- } }
190
+ additionalProperties: true
322
191
  },
323
192
  "message.bounced": {
324
193
  type: "object",
@@ -331,14 +200,13 @@ const WebhookEventJsonSchemas = {
331
200
  data: {
332
201
  type: "object",
333
202
  properties: {
334
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
203
+ mailboxId: { anyOf: [{
204
+ type: "string",
205
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
206
+ }, { type: "null" }] },
335
207
  channel: {
336
208
  type: "string",
337
- enum: [
338
- "sms",
339
- "whatsapp",
340
- "email"
341
- ]
209
+ enum: ["email"]
342
210
  },
343
211
  status: { anyOf: [{ type: "string" }, { type: "null" }] },
344
212
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
@@ -350,24 +218,14 @@ const WebhookEventJsonSchemas = {
350
218
  conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
351
219
  isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
352
220
  messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
353
- templateCategory: { anyOf: [{
354
- type: "string",
355
- enum: [
356
- "marketing",
357
- "utility",
358
- "authentication"
359
- ]
360
- }, { type: "null" }] },
361
221
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
362
222
  toEmails: { anyOf: [{
363
223
  type: "array",
364
224
  items: { type: "string" }
365
225
  }, { type: "null" }] },
366
226
  providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
367
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
368
227
  hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
369
228
  isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
370
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
371
229
  to: { anyOf: [{ type: "string" }, { type: "null" }] },
372
230
  from: { anyOf: [{ type: "string" }, { type: "null" }] },
373
231
  body: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -376,8 +234,6 @@ const WebhookEventJsonSchemas = {
376
234
  enum: ["inbound", "outbound"]
377
235
  }, { type: "null" }] },
378
236
  errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
379
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
380
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
381
237
  messageId: { type: "string" },
382
238
  organizationId: { type: "string" }
383
239
  },
@@ -396,11 +252,7 @@ const WebhookEventJsonSchemas = {
396
252
  "timestamp",
397
253
  "data"
398
254
  ],
399
- additionalProperties: true,
400
- $defs: { MailboxId: {
401
- type: "string",
402
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
403
- } }
255
+ additionalProperties: true
404
256
  },
405
257
  "message.complained": {
406
258
  type: "object",
@@ -413,14 +265,13 @@ const WebhookEventJsonSchemas = {
413
265
  data: {
414
266
  type: "object",
415
267
  properties: {
416
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
268
+ mailboxId: { anyOf: [{
269
+ type: "string",
270
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
271
+ }, { type: "null" }] },
417
272
  channel: {
418
273
  type: "string",
419
- enum: [
420
- "sms",
421
- "whatsapp",
422
- "email"
423
- ]
274
+ enum: ["email"]
424
275
  },
425
276
  status: { anyOf: [{ type: "string" }, { type: "null" }] },
426
277
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
@@ -432,24 +283,14 @@ const WebhookEventJsonSchemas = {
432
283
  conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
433
284
  isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
434
285
  messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
435
- templateCategory: { anyOf: [{
436
- type: "string",
437
- enum: [
438
- "marketing",
439
- "utility",
440
- "authentication"
441
- ]
442
- }, { type: "null" }] },
443
286
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
444
287
  toEmails: { anyOf: [{
445
288
  type: "array",
446
289
  items: { type: "string" }
447
290
  }, { type: "null" }] },
448
291
  providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
449
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
450
292
  hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
451
293
  isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
452
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
453
294
  to: { anyOf: [{ type: "string" }, { type: "null" }] },
454
295
  from: { anyOf: [{ type: "string" }, { type: "null" }] },
455
296
  body: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -458,8 +299,6 @@ const WebhookEventJsonSchemas = {
458
299
  enum: ["inbound", "outbound"]
459
300
  }, { type: "null" }] },
460
301
  errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
461
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
462
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
463
302
  messageId: { type: "string" },
464
303
  organizationId: { type: "string" }
465
304
  },
@@ -478,777 +317,70 @@ const WebhookEventJsonSchemas = {
478
317
  "timestamp",
479
318
  "data"
480
319
  ],
481
- additionalProperties: true,
482
- $defs: { MailboxId: {
483
- type: "string",
484
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
485
- } }
320
+ additionalProperties: true
486
321
  },
487
322
  "message.received": {
488
- type: "object",
489
- properties: {
490
- type: {
491
- type: "string",
492
- enum: ["message.received"]
493
- },
494
- timestamp: { type: "string" },
495
- data: {
496
- type: "object",
497
- properties: {
498
- mailboxId: { anyOf: [{ $ref: "#/$defs/MailboxId" }, { type: "null" }] },
499
- channel: {
500
- type: "string",
501
- enum: [
502
- "sms",
503
- "whatsapp",
504
- "email"
505
- ]
506
- },
507
- status: { anyOf: [{ type: "string" }, { type: "null" }] },
508
- metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
509
- cost: { anyOf: [{ type: "number" }, { type: "null" }] },
510
- recipient: { anyOf: [{ type: "string" }, { type: "null" }] },
511
- occurredAt: { anyOf: [{ type: "string" }, { type: "null" }] },
512
- failureReason: { anyOf: [{ type: "string" }, { type: "null" }] },
513
- errorCode: { anyOf: [{ type: "string" }, { type: "null" }] },
514
- conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
515
- isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
516
- messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
517
- templateCategory: { anyOf: [{
518
- type: "string",
519
- enum: [
520
- "marketing",
521
- "utility",
522
- "authentication"
523
- ]
524
- }, { type: "null" }] },
525
- subject: { anyOf: [{ type: "string" }, { type: "null" }] },
526
- toEmails: { anyOf: [{
527
- type: "array",
528
- items: { type: "string" }
529
- }, { type: "null" }] },
530
- providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
531
- waId: { anyOf: [{ type: "string" }, { type: "null" }] },
532
- hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
533
- isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
534
- segments: { anyOf: [{ type: "number" }, { type: "null" }] },
535
- to: { anyOf: [{ type: "string" }, { type: "null" }] },
536
- from: { anyOf: [{ type: "string" }, { type: "null" }] },
537
- body: { anyOf: [{ type: "string" }, { type: "null" }] },
538
- direction: { anyOf: [{
539
- type: "string",
540
- enum: ["inbound", "outbound"]
541
- }, { type: "null" }] },
542
- errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
543
- parts: { anyOf: [{ type: "number" }, { type: "null" }] },
544
- carrier: { anyOf: [{ type: "string" }, { type: "null" }] },
545
- whatsapp: { anyOf: [{ $ref: "#/$defs/WhatsAppMessageContent" }, { type: "null" }] },
546
- messageId: { type: "string" },
547
- organizationId: { type: "string" }
548
- },
549
- required: [
550
- "channel",
551
- "messageId",
552
- "organizationId"
553
- ],
554
- additionalProperties: true
555
- }
556
- },
557
- required: [
558
- "type",
559
- "timestamp",
560
- "data"
561
- ],
562
- additionalProperties: true,
563
- $defs: {
564
- MailboxId: {
565
- type: "string",
566
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
567
- },
568
- WhatsAppTextHeader: {
569
- type: "object",
570
- properties: {
571
- type: {
572
- type: "string",
573
- enum: ["text"]
574
- },
575
- text: {
576
- type: "string",
577
- minLength: 1,
578
- maxLength: 60
579
- }
580
- },
581
- required: ["type", "text"],
582
- additionalProperties: true
583
- },
584
- WhatsAppImageHeaderLink: {
585
- type: "object",
586
- properties: {
587
- type: {
588
- type: "string",
589
- enum: ["image"]
590
- },
591
- url: { type: "string" }
592
- },
593
- required: ["type", "url"],
594
- additionalProperties: true
595
- },
596
- MediaId: {
597
- type: "string",
598
- pattern: "^media_[0-9a-hjkmnp-tv-z]{16,24}$"
599
- },
600
- WhatsAppImageHeaderUpload: {
601
- type: "object",
602
- properties: {
603
- type: {
604
- type: "string",
605
- enum: ["image"]
606
- },
607
- mediaId: { $ref: "#/$defs/MediaId" }
608
- },
609
- required: ["type", "mediaId"],
610
- additionalProperties: true
611
- },
612
- WhatsAppImageHeader: { anyOf: [{ $ref: "#/$defs/WhatsAppImageHeaderLink" }, { $ref: "#/$defs/WhatsAppImageHeaderUpload" }] },
613
- WhatsAppVideoHeaderLink: {
614
- type: "object",
615
- properties: {
616
- type: {
617
- type: "string",
618
- enum: ["video"]
619
- },
620
- url: { type: "string" }
621
- },
622
- required: ["type", "url"],
623
- additionalProperties: true
624
- },
625
- WhatsAppVideoHeaderUpload: {
626
- type: "object",
627
- properties: {
628
- type: {
629
- type: "string",
630
- enum: ["video"]
631
- },
632
- mediaId: { $ref: "#/$defs/MediaId" }
633
- },
634
- required: ["type", "mediaId"],
635
- additionalProperties: true
636
- },
637
- WhatsAppVideoHeader: { anyOf: [{ $ref: "#/$defs/WhatsAppVideoHeaderLink" }, { $ref: "#/$defs/WhatsAppVideoHeaderUpload" }] },
638
- WhatsAppDocumentHeaderLink: {
639
- type: "object",
640
- properties: {
641
- type: {
642
- type: "string",
643
- enum: ["document"]
644
- },
645
- filename: {
646
- type: "string",
647
- minLength: 1,
648
- maxLength: 255
649
- },
650
- url: { type: "string" }
651
- },
652
- required: ["type", "url"],
653
- additionalProperties: true
654
- },
655
- WhatsAppDocumentHeaderUpload: {
656
- type: "object",
657
- properties: {
658
- type: {
659
- type: "string",
660
- enum: ["document"]
661
- },
662
- filename: {
663
- type: "string",
664
- minLength: 1,
665
- maxLength: 255
666
- },
667
- mediaId: { $ref: "#/$defs/MediaId" }
668
- },
669
- required: ["type", "mediaId"],
670
- additionalProperties: true
671
- },
672
- WhatsAppDocumentHeader: { anyOf: [{ $ref: "#/$defs/WhatsAppDocumentHeaderLink" }, { $ref: "#/$defs/WhatsAppDocumentHeaderUpload" }] },
673
- WhatsAppInteractiveHeader: { anyOf: [
674
- { $ref: "#/$defs/WhatsAppTextHeader" },
675
- { $ref: "#/$defs/WhatsAppImageHeader" },
676
- { $ref: "#/$defs/WhatsAppVideoHeader" },
677
- { $ref: "#/$defs/WhatsAppDocumentHeader" }
678
- ] },
679
- WhatsAppReplyButton: {
680
- type: "object",
681
- properties: {
682
- id: {
683
- type: "string",
684
- minLength: 1,
685
- maxLength: 256
686
- },
687
- title: {
688
- type: "string",
689
- minLength: 1,
690
- maxLength: 20
691
- }
692
- },
693
- required: ["id", "title"],
694
- additionalProperties: true
695
- },
696
- WhatsAppButtonsMessage: {
697
- type: "object",
698
- properties: {
699
- type: {
700
- type: "string",
701
- enum: ["buttons"]
702
- },
703
- header: { $ref: "#/$defs/WhatsAppInteractiveHeader" },
704
- body: {
705
- type: "string",
706
- minLength: 1,
707
- maxLength: 1024
708
- },
709
- footer: {
710
- type: "string",
711
- minLength: 1,
712
- maxLength: 60
713
- },
714
- buttons: {
715
- type: "array",
716
- items: { $ref: "#/$defs/WhatsAppReplyButton" },
717
- minItems: 1,
718
- maxItems: 3
719
- }
720
- },
721
- required: [
722
- "type",
723
- "body",
724
- "buttons"
725
- ],
726
- additionalProperties: true
727
- },
728
- WhatsAppListRow: {
729
- type: "object",
730
- properties: {
731
- id: {
732
- type: "string",
733
- minLength: 1,
734
- maxLength: 200
735
- },
736
- title: {
737
- type: "string",
738
- minLength: 1,
739
- maxLength: 24
740
- },
741
- description: {
742
- type: "string",
743
- minLength: 1,
744
- maxLength: 72
745
- }
746
- },
747
- required: ["id", "title"],
748
- additionalProperties: true
749
- },
750
- WhatsAppListSection: {
751
- type: "object",
752
- properties: {
753
- title: {
754
- type: "string",
755
- minLength: 1,
756
- maxLength: 24
757
- },
758
- rows: {
759
- type: "array",
760
- items: { $ref: "#/$defs/WhatsAppListRow" },
761
- minItems: 1
762
- }
763
- },
764
- required: ["rows"],
765
- additionalProperties: true
766
- },
767
- WhatsAppListMessage: {
768
- type: "object",
769
- properties: {
770
- type: {
771
- type: "string",
772
- enum: ["list"]
773
- },
774
- header: { $ref: "#/$defs/WhatsAppTextHeader" },
775
- body: {
776
- type: "string",
777
- minLength: 1,
778
- maxLength: 4096
779
- },
780
- footer: {
781
- type: "string",
782
- minLength: 1,
783
- maxLength: 60
784
- },
785
- button: {
786
- type: "string",
787
- minLength: 1,
788
- maxLength: 20
789
- },
790
- sections: {
791
- type: "array",
792
- items: { $ref: "#/$defs/WhatsAppListSection" },
793
- minItems: 1,
794
- maxItems: 10
795
- }
796
- },
797
- required: [
798
- "type",
799
- "body",
800
- "button",
801
- "sections"
802
- ],
803
- additionalProperties: true
804
- },
805
- WhatsAppCtaUrlMessage: {
806
- type: "object",
807
- properties: {
808
- type: {
809
- type: "string",
810
- enum: ["cta_url"]
811
- },
812
- header: { $ref: "#/$defs/WhatsAppInteractiveHeader" },
813
- body: {
814
- type: "string",
815
- minLength: 1,
816
- maxLength: 1024
817
- },
818
- footer: {
819
- type: "string",
820
- minLength: 1,
821
- maxLength: 60
822
- },
823
- displayText: {
824
- type: "string",
825
- minLength: 1,
826
- maxLength: 20
827
- },
828
- url: { type: "string" }
829
- },
830
- required: [
831
- "type",
832
- "body",
833
- "displayText",
834
- "url"
835
- ],
836
- additionalProperties: true
837
- },
838
- WhatsAppTextHeader_1: {
839
- type: "object",
840
- properties: {
841
- type: {
842
- type: "string",
843
- enum: ["text"]
844
- },
845
- text: {
846
- type: "string",
847
- minLength: 1,
848
- maxLength: 60
849
- }
850
- },
851
- required: ["type", "text"],
852
- additionalProperties: true
853
- },
854
- WhatsAppFlowId: {
855
- type: "string",
856
- pattern: "^waflow_[0-9a-hjkmnp-tv-z]{16,24}$"
857
- },
858
- WhatsAppFlowVersionId: {
859
- type: "string",
860
- pattern: "^wafver_[0-9a-hjkmnp-tv-z]{16,24}$"
861
- },
862
- WhatsAppStoredFlowMessage: {
863
- type: "object",
864
- properties: {
865
- type: {
866
- type: "string",
867
- enum: ["flow"]
868
- },
869
- header: { $ref: "#/$defs/WhatsAppTextHeader_1" },
870
- body: {
871
- type: "string",
872
- minLength: 1,
873
- maxLength: 1024
874
- },
875
- footer: {
876
- type: "string",
877
- minLength: 1,
878
- maxLength: 60
879
- },
880
- flowId: { $ref: "#/$defs/WhatsAppFlowId" },
881
- cta: {
882
- type: "string",
883
- minLength: 1,
884
- maxLength: 30
885
- },
886
- token: {
887
- type: "string",
888
- minLength: 1,
889
- maxLength: 1024
890
- },
891
- screen: {
892
- type: "string",
893
- pattern: "^[A-Za-z_]{1,100}$"
894
- },
895
- data: { type: "object" },
896
- flowVersionId: { $ref: "#/$defs/WhatsAppFlowVersionId" },
897
- providerFlowId: { type: "string" }
898
- },
899
- required: [
900
- "type",
901
- "body",
902
- "flowId",
903
- "cta",
904
- "flowVersionId",
905
- "providerFlowId"
906
- ],
907
- additionalProperties: true
908
- },
909
- WhatsAppStoredInteractive: { anyOf: [
910
- { $ref: "#/$defs/WhatsAppButtonsMessage" },
911
- { $ref: "#/$defs/WhatsAppListMessage" },
912
- { $ref: "#/$defs/WhatsAppCtaUrlMessage" },
913
- { $ref: "#/$defs/WhatsAppStoredFlowMessage" }
914
- ] },
915
- WhatsAppStoredMedia: { anyOf: [
916
- {
917
- type: "object",
918
- properties: {
919
- type: {
920
- type: "string",
921
- enum: [
922
- "image",
923
- "video",
924
- "audio",
925
- "document",
926
- "sticker"
927
- ]
928
- },
929
- url: { type: "string" },
930
- caption: { type: "string" },
931
- filename: { type: "string" }
932
- },
933
- required: ["type", "url"],
934
- additionalProperties: true
935
- },
936
- {
937
- type: "object",
938
- properties: {
939
- type: {
940
- type: "string",
941
- enum: [
942
- "image",
943
- "video",
944
- "audio",
945
- "document",
946
- "sticker"
947
- ]
948
- },
949
- mediaId: { $ref: "#/$defs/MediaId" },
950
- caption: { type: "string" },
951
- filename: { type: "string" }
952
- },
953
- required: ["type", "mediaId"],
954
- additionalProperties: true
955
- },
956
- {
957
- type: "object",
958
- properties: {
959
- type: {
960
- type: "string",
961
- enum: [
962
- "image",
963
- "video",
964
- "audio",
965
- "document",
966
- "sticker"
967
- ]
968
- },
969
- providerMediaId: { type: "string" },
970
- mimeType: { anyOf: [{ type: "string" }, { type: "null" }] },
971
- caption: { anyOf: [{ type: "string" }, { type: "null" }] },
972
- filename: { type: "string" }
973
- },
974
- required: ["type", "providerMediaId"],
975
- additionalProperties: true
976
- }
977
- ] },
978
- MessageId: {
979
- type: "string",
980
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
981
- },
982
- WhatsAppStoredReaction: {
983
- type: "object",
984
- properties: {
985
- messageId: { anyOf: [{ $ref: "#/$defs/MessageId" }, { type: "null" }] },
986
- providerMessageId: { type: "string" },
987
- emoji: { anyOf: [{ type: "string" }, { type: "null" }] }
988
- },
989
- required: [
990
- "messageId",
991
- "providerMessageId",
992
- "emoji"
993
- ],
994
- additionalProperties: true
995
- },
996
- WhatsAppStoredLocation: {
997
- type: "object",
998
- properties: {
999
- latitude: { type: "number" },
1000
- longitude: { type: "number" },
1001
- name: { type: "string" },
1002
- address: { type: "string" },
1003
- url: { type: "string" }
1004
- },
1005
- required: ["latitude", "longitude"],
1006
- additionalProperties: true
1007
- },
1008
- WhatsAppStoredContactCard: {
1009
- type: "object",
1010
- properties: {
1011
- name: {
1012
- type: "object",
1013
- properties: {
1014
- formattedName: { type: "string" },
1015
- firstName: { type: "string" },
1016
- lastName: { type: "string" },
1017
- middleName: { type: "string" },
1018
- prefix: { type: "string" },
1019
- suffix: { type: "string" }
1020
- },
1021
- additionalProperties: true
1022
- },
1023
- phones: {
1024
- type: "array",
1025
- items: {
1026
- type: "object",
1027
- properties: {
1028
- phone: { type: "string" },
1029
- type: { type: "string" },
1030
- waId: { type: "string" }
1031
- },
1032
- additionalProperties: true
1033
- }
1034
- },
1035
- emails: {
1036
- type: "array",
1037
- items: {
1038
- type: "object",
1039
- properties: {
1040
- email: { type: "string" },
1041
- type: { type: "string" }
1042
- },
1043
- additionalProperties: true
1044
- }
1045
- },
1046
- urls: {
1047
- type: "array",
1048
- items: {
1049
- type: "object",
1050
- properties: {
1051
- url: { type: "string" },
1052
- type: { type: "string" }
1053
- },
1054
- additionalProperties: true
1055
- }
1056
- },
1057
- org: {
1058
- type: "object",
1059
- properties: {
1060
- company: { type: "string" },
1061
- department: { type: "string" },
1062
- title: { type: "string" }
1063
- },
1064
- additionalProperties: true
1065
- },
1066
- addresses: {
1067
- type: "array",
1068
- items: {
1069
- type: "object",
1070
- properties: {
1071
- street: { type: "string" },
1072
- city: { type: "string" },
1073
- state: { type: "string" },
1074
- zip: { type: "string" },
1075
- country: { type: "string" },
1076
- countryCode: { type: "string" },
1077
- type: { type: "string" }
1078
- },
1079
- additionalProperties: true
1080
- }
1081
- },
1082
- birthday: { type: "string" }
1083
- },
1084
- additionalProperties: true
1085
- },
1086
- WhatsAppReceivedReply: {
1087
- type: "object",
1088
- properties: {
1089
- type: {
1090
- type: "string",
1091
- enum: [
1092
- "button",
1093
- "list",
1094
- "template_button"
1095
- ]
1096
- },
1097
- id: { type: "string" },
1098
- title: { type: "string" },
1099
- description: { type: "string" }
1100
- },
1101
- required: [
1102
- "type",
1103
- "id",
1104
- "title"
1105
- ],
1106
- additionalProperties: true
1107
- },
1108
- WhatsAppReceivedFlowResponse: {
1109
- type: "object",
1110
- properties: {
1111
- flowToken: { anyOf: [{ type: "string" }, { type: "null" }] },
1112
- response: { type: "object" },
1113
- body: { type: "string" }
1114
- },
1115
- required: ["flowToken", "response"],
1116
- additionalProperties: true
1117
- },
1118
- WhatsAppMessageReference: {
1119
- type: "object",
1120
- properties: {
1121
- messageId: { anyOf: [{ $ref: "#/$defs/MessageId" }, { type: "null" }] },
1122
- providerMessageId: { type: "string" }
1123
- },
1124
- required: ["messageId", "providerMessageId"],
1125
- additionalProperties: true
323
+ type: "object",
324
+ properties: {
325
+ type: {
326
+ type: "string",
327
+ enum: ["message.received"]
1126
328
  },
1127
- WhatsAppMessageContent: {
329
+ timestamp: { type: "string" },
330
+ data: {
1128
331
  type: "object",
1129
332
  properties: {
1130
- text: { anyOf: [{ type: "string" }, { type: "null" }] },
1131
- template: { anyOf: [{
1132
- type: "object",
1133
- properties: {
1134
- name: { type: "string" },
1135
- language: { type: "string" },
1136
- components: {
1137
- type: "array",
1138
- items: {
1139
- type: "object",
1140
- properties: {
1141
- type: {
1142
- type: "string",
1143
- enum: [
1144
- "header",
1145
- "body",
1146
- "footer",
1147
- "button"
1148
- ]
1149
- },
1150
- sub_type: { anyOf: [{
1151
- type: "string",
1152
- enum: [
1153
- "url",
1154
- "quick_reply",
1155
- "copy_code"
1156
- ]
1157
- }, { type: "null" }] },
1158
- index: { anyOf: [{ type: "string" }, { type: "null" }] },
1159
- parameters: {
1160
- type: "array",
1161
- items: {
1162
- type: "object",
1163
- properties: {
1164
- type: {
1165
- type: "string",
1166
- enum: [
1167
- "text",
1168
- "currency",
1169
- "date_time",
1170
- "image",
1171
- "document",
1172
- "video",
1173
- "coupon_code"
1174
- ]
1175
- },
1176
- text: { anyOf: [{ type: "string" }, { type: "null" }] },
1177
- currency: { anyOf: [{
1178
- type: "object",
1179
- properties: {
1180
- fallback_value: { type: "string" },
1181
- code: { type: "string" },
1182
- amount_1000: { type: "number" }
1183
- },
1184
- required: [
1185
- "fallback_value",
1186
- "code",
1187
- "amount_1000"
1188
- ],
1189
- additionalProperties: true
1190
- }, { type: "null" }] },
1191
- date_time: { anyOf: [{
1192
- type: "object",
1193
- properties: { fallback_value: { type: "string" } },
1194
- required: ["fallback_value"],
1195
- additionalProperties: true
1196
- }, { type: "null" }] },
1197
- image: { anyOf: [{
1198
- type: "object",
1199
- properties: { link: { type: "string" } },
1200
- required: ["link"],
1201
- additionalProperties: true
1202
- }, { type: "null" }] },
1203
- document: { anyOf: [{
1204
- type: "object",
1205
- properties: {
1206
- link: { type: "string" },
1207
- filename: { anyOf: [{ type: "string" }, { type: "null" }] }
1208
- },
1209
- required: ["link"],
1210
- additionalProperties: true
1211
- }, { type: "null" }] },
1212
- video: { anyOf: [{
1213
- type: "object",
1214
- properties: { link: { type: "string" } },
1215
- required: ["link"],
1216
- additionalProperties: true
1217
- }, { type: "null" }] },
1218
- coupon_code: { anyOf: [{ type: "string" }, { type: "null" }] }
1219
- },
1220
- required: ["type"],
1221
- additionalProperties: true
1222
- }
1223
- }
1224
- },
1225
- required: ["type", "parameters"],
1226
- additionalProperties: true
1227
- }
1228
- }
1229
- },
1230
- required: [
1231
- "name",
1232
- "language",
1233
- "components"
1234
- ],
1235
- additionalProperties: true
333
+ mailboxId: { anyOf: [{
334
+ type: "string",
335
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
1236
336
  }, { type: "null" }] },
1237
- interactive: { $ref: "#/$defs/WhatsAppStoredInteractive" },
1238
- media: { anyOf: [{ $ref: "#/$defs/WhatsAppStoredMedia" }, { type: "null" }] },
1239
- reaction: { $ref: "#/$defs/WhatsAppStoredReaction" },
1240
- location: { $ref: "#/$defs/WhatsAppStoredLocation" },
1241
- contacts: {
1242
- type: "array",
1243
- items: { $ref: "#/$defs/WhatsAppStoredContactCard" }
337
+ channel: {
338
+ type: "string",
339
+ enum: ["email"]
1244
340
  },
1245
- reply: { $ref: "#/$defs/WhatsAppReceivedReply" },
1246
- flowResponse: { $ref: "#/$defs/WhatsAppReceivedFlowResponse" },
1247
- context: { $ref: "#/$defs/WhatsAppMessageReference" }
341
+ status: { anyOf: [{ type: "string" }, { type: "null" }] },
342
+ metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
343
+ cost: { anyOf: [{ type: "number" }, { type: "null" }] },
344
+ recipient: { anyOf: [{ type: "string" }, { type: "null" }] },
345
+ occurredAt: { anyOf: [{ type: "string" }, { type: "null" }] },
346
+ failureReason: { anyOf: [{ type: "string" }, { type: "null" }] },
347
+ errorCode: { anyOf: [{ type: "string" }, { type: "null" }] },
348
+ conversationId: { anyOf: [{ type: "string" }, { type: "null" }] },
349
+ isBillable: { anyOf: [{ type: "boolean" }, { type: "null" }] },
350
+ messageType: { anyOf: [{ type: "string" }, { type: "null" }] },
351
+ subject: { anyOf: [{ type: "string" }, { type: "null" }] },
352
+ toEmails: { anyOf: [{
353
+ type: "array",
354
+ items: { type: "string" }
355
+ }, { type: "null" }] },
356
+ providerMessageId: { anyOf: [{ type: "string" }, { type: "null" }] },
357
+ hasAttachments: { anyOf: [{ type: "boolean" }, { type: "null" }] },
358
+ isAutoReply: { anyOf: [{ type: "boolean" }, { type: "null" }] },
359
+ to: { anyOf: [{ type: "string" }, { type: "null" }] },
360
+ from: { anyOf: [{ type: "string" }, { type: "null" }] },
361
+ body: { anyOf: [{ type: "string" }, { type: "null" }] },
362
+ direction: { anyOf: [{
363
+ type: "string",
364
+ enum: ["inbound", "outbound"]
365
+ }, { type: "null" }] },
366
+ errorMessage: { anyOf: [{ type: "string" }, { type: "null" }] },
367
+ messageId: { type: "string" },
368
+ organizationId: { type: "string" }
1248
369
  },
370
+ required: [
371
+ "channel",
372
+ "messageId",
373
+ "organizationId"
374
+ ],
1249
375
  additionalProperties: true
1250
376
  }
1251
- }
377
+ },
378
+ required: [
379
+ "type",
380
+ "timestamp",
381
+ "data"
382
+ ],
383
+ additionalProperties: true
1252
384
  },
1253
385
  "message.opened": {
1254
386
  type: "object",
@@ -1261,13 +393,22 @@ const WebhookEventJsonSchemas = {
1261
393
  data: {
1262
394
  type: "object",
1263
395
  properties: {
1264
- messageId: { $ref: "#/$defs/MessageId" },
1265
- organizationId: { $ref: "#/$defs/OrganizationId" },
396
+ messageId: {
397
+ type: "string",
398
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
399
+ },
400
+ organizationId: {
401
+ type: "string",
402
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
403
+ },
1266
404
  channel: {
1267
405
  type: "string",
1268
406
  enum: ["email"]
1269
407
  },
1270
- deliveryId: { $ref: "#/$defs/MessageDeliveryId" },
408
+ deliveryId: {
409
+ type: "string",
410
+ pattern: "^mdel_[0-9a-hjkmnp-tv-z]{16,24}$"
411
+ },
1271
412
  recipient: { type: "string" },
1272
413
  occurredAt: { type: "string" },
1273
414
  userAgent: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -1291,8 +432,14 @@ const WebhookEventJsonSchemas = {
1291
432
  linkIndex: { anyOf: [{ type: "number" }, { type: "null" }] },
1292
433
  destinationUrl: { anyOf: [{ type: "string" }, { type: "null" }] },
1293
434
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
1294
- campaignId: { anyOf: [{ $ref: "#/$defs/CampaignId" }, { type: "null" }] },
1295
- campaignRunId: { anyOf: [{ $ref: "#/$defs/CampaignRunId" }, { type: "null" }] }
435
+ campaignId: { anyOf: [{
436
+ type: "string",
437
+ pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
438
+ }, { type: "null" }] },
439
+ campaignRunId: { anyOf: [{
440
+ type: "string",
441
+ pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
442
+ }, { type: "null" }] }
1296
443
  },
1297
444
  required: [
1298
445
  "messageId",
@@ -1313,29 +460,7 @@ const WebhookEventJsonSchemas = {
1313
460
  "timestamp",
1314
461
  "data"
1315
462
  ],
1316
- additionalProperties: true,
1317
- $defs: {
1318
- MessageId: {
1319
- type: "string",
1320
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1321
- },
1322
- OrganizationId: {
1323
- type: "string",
1324
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1325
- },
1326
- MessageDeliveryId: {
1327
- type: "string",
1328
- pattern: "^mdel_[0-9a-hjkmnp-tv-z]{16,24}$"
1329
- },
1330
- CampaignId: {
1331
- type: "string",
1332
- pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
1333
- },
1334
- CampaignRunId: {
1335
- type: "string",
1336
- pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
1337
- }
1338
- }
463
+ additionalProperties: true
1339
464
  },
1340
465
  "message.clicked": {
1341
466
  type: "object",
@@ -1348,13 +473,22 @@ const WebhookEventJsonSchemas = {
1348
473
  data: {
1349
474
  type: "object",
1350
475
  properties: {
1351
- messageId: { $ref: "#/$defs/MessageId" },
1352
- organizationId: { $ref: "#/$defs/OrganizationId" },
476
+ messageId: {
477
+ type: "string",
478
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
479
+ },
480
+ organizationId: {
481
+ type: "string",
482
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
483
+ },
1353
484
  channel: {
1354
485
  type: "string",
1355
486
  enum: ["email"]
1356
487
  },
1357
- deliveryId: { $ref: "#/$defs/MessageDeliveryId" },
488
+ deliveryId: {
489
+ type: "string",
490
+ pattern: "^mdel_[0-9a-hjkmnp-tv-z]{16,24}$"
491
+ },
1358
492
  recipient: { type: "string" },
1359
493
  occurredAt: { type: "string" },
1360
494
  userAgent: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -1386,8 +520,14 @@ const WebhookEventJsonSchemas = {
1386
520
  linkIndex: { anyOf: [{ type: "number" }, { type: "null" }] },
1387
521
  destinationUrl: { anyOf: [{ type: "string" }, { type: "null" }] },
1388
522
  metadata: { anyOf: [{ type: "object" }, { type: "null" }] },
1389
- campaignId: { anyOf: [{ $ref: "#/$defs/CampaignId" }, { type: "null" }] },
1390
- campaignRunId: { anyOf: [{ $ref: "#/$defs/CampaignRunId" }, { type: "null" }] }
523
+ campaignId: { anyOf: [{
524
+ type: "string",
525
+ pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
526
+ }, { type: "null" }] },
527
+ campaignRunId: { anyOf: [{
528
+ type: "string",
529
+ pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
530
+ }, { type: "null" }] }
1391
531
  },
1392
532
  required: [
1393
533
  "messageId",
@@ -1410,29 +550,7 @@ const WebhookEventJsonSchemas = {
1410
550
  "timestamp",
1411
551
  "data"
1412
552
  ],
1413
- additionalProperties: true,
1414
- $defs: {
1415
- MessageId: {
1416
- type: "string",
1417
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1418
- },
1419
- OrganizationId: {
1420
- type: "string",
1421
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1422
- },
1423
- MessageDeliveryId: {
1424
- type: "string",
1425
- pattern: "^mdel_[0-9a-hjkmnp-tv-z]{16,24}$"
1426
- },
1427
- CampaignId: {
1428
- type: "string",
1429
- pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
1430
- },
1431
- CampaignRunId: {
1432
- type: "string",
1433
- pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
1434
- }
1435
- }
553
+ additionalProperties: true
1436
554
  },
1437
555
  "contact.created": {
1438
556
  type: "object",
@@ -1445,7 +563,10 @@ const WebhookEventJsonSchemas = {
1445
563
  data: {
1446
564
  type: "object",
1447
565
  properties: {
1448
- contactId: { $ref: "#/$defs/ContactId" },
566
+ contactId: {
567
+ type: "string",
568
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
569
+ },
1449
570
  status: {
1450
571
  type: "string",
1451
572
  enum: [
@@ -1459,7 +580,23 @@ const WebhookEventJsonSchemas = {
1459
580
  displayName: { anyOf: [{ anyOf: [{ type: "string" }, { type: "null" }] }, { type: "null" }] },
1460
581
  identities: {
1461
582
  type: "array",
1462
- items: { $ref: "#/$defs/ContactEventIdentity" }
583
+ items: {
584
+ type: "object",
585
+ properties: {
586
+ type: {
587
+ type: "string",
588
+ enum: ["email", "phone"]
589
+ },
590
+ identifier: { type: "string" },
591
+ verified: { type: "boolean" }
592
+ },
593
+ required: [
594
+ "type",
595
+ "identifier",
596
+ "verified"
597
+ ],
598
+ additionalProperties: true
599
+ }
1463
600
  },
1464
601
  tags: {
1465
602
  type: "array",
@@ -1486,30 +623,7 @@ const WebhookEventJsonSchemas = {
1486
623
  "timestamp",
1487
624
  "data"
1488
625
  ],
1489
- additionalProperties: true,
1490
- $defs: {
1491
- ContactId: {
1492
- type: "string",
1493
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1494
- },
1495
- ContactEventIdentity: {
1496
- type: "object",
1497
- properties: {
1498
- type: {
1499
- type: "string",
1500
- enum: ["email", "phone"]
1501
- },
1502
- identifier: { type: "string" },
1503
- verified: { type: "boolean" }
1504
- },
1505
- required: [
1506
- "type",
1507
- "identifier",
1508
- "verified"
1509
- ],
1510
- additionalProperties: true
1511
- }
1512
- }
626
+ additionalProperties: true
1513
627
  },
1514
628
  "contact.updated": {
1515
629
  type: "object",
@@ -1522,7 +636,10 @@ const WebhookEventJsonSchemas = {
1522
636
  data: {
1523
637
  type: "object",
1524
638
  properties: {
1525
- contactId: { $ref: "#/$defs/ContactId" },
639
+ contactId: {
640
+ type: "string",
641
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
642
+ },
1526
643
  status: {
1527
644
  type: "string",
1528
645
  enum: [
@@ -1536,7 +653,23 @@ const WebhookEventJsonSchemas = {
1536
653
  displayName: { anyOf: [{ anyOf: [{ type: "string" }, { type: "null" }] }, { type: "null" }] },
1537
654
  identities: {
1538
655
  type: "array",
1539
- items: { $ref: "#/$defs/ContactEventIdentity" }
656
+ items: {
657
+ type: "object",
658
+ properties: {
659
+ type: {
660
+ type: "string",
661
+ enum: ["email", "phone"]
662
+ },
663
+ identifier: { type: "string" },
664
+ verified: { type: "boolean" }
665
+ },
666
+ required: [
667
+ "type",
668
+ "identifier",
669
+ "verified"
670
+ ],
671
+ additionalProperties: true
672
+ }
1540
673
  },
1541
674
  tags: {
1542
675
  type: "array",
@@ -1563,30 +696,7 @@ const WebhookEventJsonSchemas = {
1563
696
  "timestamp",
1564
697
  "data"
1565
698
  ],
1566
- additionalProperties: true,
1567
- $defs: {
1568
- ContactId: {
1569
- type: "string",
1570
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1571
- },
1572
- ContactEventIdentity: {
1573
- type: "object",
1574
- properties: {
1575
- type: {
1576
- type: "string",
1577
- enum: ["email", "phone"]
1578
- },
1579
- identifier: { type: "string" },
1580
- verified: { type: "boolean" }
1581
- },
1582
- required: [
1583
- "type",
1584
- "identifier",
1585
- "verified"
1586
- ],
1587
- additionalProperties: true
1588
- }
1589
- }
699
+ additionalProperties: true
1590
700
  },
1591
701
  "contact.deleted": {
1592
702
  type: "object",
@@ -1599,7 +709,10 @@ const WebhookEventJsonSchemas = {
1599
709
  data: {
1600
710
  type: "object",
1601
711
  properties: {
1602
- contactId: { $ref: "#/$defs/ContactId" },
712
+ contactId: {
713
+ type: "string",
714
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
715
+ },
1603
716
  status: {
1604
717
  type: "string",
1605
718
  enum: [
@@ -1613,7 +726,23 @@ const WebhookEventJsonSchemas = {
1613
726
  displayName: { anyOf: [{ anyOf: [{ type: "string" }, { type: "null" }] }, { type: "null" }] },
1614
727
  identities: {
1615
728
  type: "array",
1616
- items: { $ref: "#/$defs/ContactEventIdentity" }
729
+ items: {
730
+ type: "object",
731
+ properties: {
732
+ type: {
733
+ type: "string",
734
+ enum: ["email", "phone"]
735
+ },
736
+ identifier: { type: "string" },
737
+ verified: { type: "boolean" }
738
+ },
739
+ required: [
740
+ "type",
741
+ "identifier",
742
+ "verified"
743
+ ],
744
+ additionalProperties: true
745
+ }
1617
746
  },
1618
747
  tags: {
1619
748
  type: "array",
@@ -1640,30 +769,7 @@ const WebhookEventJsonSchemas = {
1640
769
  "timestamp",
1641
770
  "data"
1642
771
  ],
1643
- additionalProperties: true,
1644
- $defs: {
1645
- ContactId: {
1646
- type: "string",
1647
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1648
- },
1649
- ContactEventIdentity: {
1650
- type: "object",
1651
- properties: {
1652
- type: {
1653
- type: "string",
1654
- enum: ["email", "phone"]
1655
- },
1656
- identifier: { type: "string" },
1657
- verified: { type: "boolean" }
1658
- },
1659
- required: [
1660
- "type",
1661
- "identifier",
1662
- "verified"
1663
- ],
1664
- additionalProperties: true
1665
- }
1666
- }
772
+ additionalProperties: true
1667
773
  },
1668
774
  "contact.subscribed": {
1669
775
  type: "object",
@@ -1676,13 +782,25 @@ const WebhookEventJsonSchemas = {
1676
782
  data: {
1677
783
  type: "object",
1678
784
  properties: {
1679
- organizationId: { $ref: "#/$defs/OrganizationId" },
1680
- contactId: { $ref: "#/$defs/ContactId" },
785
+ organizationId: {
786
+ type: "string",
787
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
788
+ },
789
+ contactId: {
790
+ type: "string",
791
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
792
+ },
1681
793
  email: { anyOf: [{ type: "string" }, { type: "null" }] },
1682
794
  groupId: { type: "string" },
1683
795
  groupName: { type: "string" },
1684
- contactGroupId: { anyOf: [{ $ref: "#/$defs/ContactGroupId" }, { type: "null" }] },
1685
- unsubscribeGroupId: { anyOf: [{ $ref: "#/$defs/UnsubscribeId" }, { type: "null" }] },
796
+ contactGroupId: { anyOf: [{
797
+ type: "string",
798
+ pattern: "^cgrp_[0-9a-hjkmnp-tv-z]{16,24}$"
799
+ }, { type: "null" }] },
800
+ unsubscribeGroupId: { anyOf: [{
801
+ type: "string",
802
+ pattern: "^unsub_[0-9a-hjkmnp-tv-z]{16,24}$"
803
+ }, { type: "null" }] },
1686
804
  consentIp: { anyOf: [{ type: "string" }, { type: "null" }] },
1687
805
  consentSource: { anyOf: [{ type: "string" }, { type: "null" }] },
1688
806
  source: {
@@ -1694,9 +812,18 @@ const WebhookEventJsonSchemas = {
1694
812
  "complaint"
1695
813
  ]
1696
814
  },
1697
- messageId: { anyOf: [{ $ref: "#/$defs/MessageId" }, { type: "null" }] },
1698
- campaignId: { anyOf: [{ $ref: "#/$defs/CampaignId" }, { type: "null" }] },
1699
- campaignRunId: { anyOf: [{ $ref: "#/$defs/CampaignRunId" }, { type: "null" }] },
815
+ messageId: { anyOf: [{
816
+ type: "string",
817
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
818
+ }, { type: "null" }] },
819
+ campaignId: { anyOf: [{
820
+ type: "string",
821
+ pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
822
+ }, { type: "null" }] },
823
+ campaignRunId: { anyOf: [{
824
+ type: "string",
825
+ pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
826
+ }, { type: "null" }] },
1700
827
  occurredAt: { type: "string" }
1701
828
  },
1702
829
  required: [
@@ -1715,37 +842,7 @@ const WebhookEventJsonSchemas = {
1715
842
  "timestamp",
1716
843
  "data"
1717
844
  ],
1718
- additionalProperties: true,
1719
- $defs: {
1720
- OrganizationId: {
1721
- type: "string",
1722
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1723
- },
1724
- ContactId: {
1725
- type: "string",
1726
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1727
- },
1728
- ContactGroupId: {
1729
- type: "string",
1730
- pattern: "^cgrp_[0-9a-hjkmnp-tv-z]{16,24}$"
1731
- },
1732
- UnsubscribeId: {
1733
- type: "string",
1734
- pattern: "^unsub_[0-9a-hjkmnp-tv-z]{16,24}$"
1735
- },
1736
- MessageId: {
1737
- type: "string",
1738
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1739
- },
1740
- CampaignId: {
1741
- type: "string",
1742
- pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
1743
- },
1744
- CampaignRunId: {
1745
- type: "string",
1746
- pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
1747
- }
1748
- }
845
+ additionalProperties: true
1749
846
  },
1750
847
  "contact.unsubscribed": {
1751
848
  type: "object",
@@ -1758,13 +855,25 @@ const WebhookEventJsonSchemas = {
1758
855
  data: {
1759
856
  type: "object",
1760
857
  properties: {
1761
- organizationId: { $ref: "#/$defs/OrganizationId" },
1762
- contactId: { $ref: "#/$defs/ContactId" },
858
+ organizationId: {
859
+ type: "string",
860
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
861
+ },
862
+ contactId: {
863
+ type: "string",
864
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
865
+ },
1763
866
  email: { anyOf: [{ type: "string" }, { type: "null" }] },
1764
867
  groupId: { type: "string" },
1765
868
  groupName: { type: "string" },
1766
- contactGroupId: { anyOf: [{ $ref: "#/$defs/ContactGroupId" }, { type: "null" }] },
1767
- unsubscribeGroupId: { anyOf: [{ $ref: "#/$defs/UnsubscribeId" }, { type: "null" }] },
869
+ contactGroupId: { anyOf: [{
870
+ type: "string",
871
+ pattern: "^cgrp_[0-9a-hjkmnp-tv-z]{16,24}$"
872
+ }, { type: "null" }] },
873
+ unsubscribeGroupId: { anyOf: [{
874
+ type: "string",
875
+ pattern: "^unsub_[0-9a-hjkmnp-tv-z]{16,24}$"
876
+ }, { type: "null" }] },
1768
877
  consentIp: { anyOf: [{ type: "string" }, { type: "null" }] },
1769
878
  consentSource: { anyOf: [{ type: "string" }, { type: "null" }] },
1770
879
  source: {
@@ -1776,9 +885,18 @@ const WebhookEventJsonSchemas = {
1776
885
  "complaint"
1777
886
  ]
1778
887
  },
1779
- messageId: { anyOf: [{ $ref: "#/$defs/MessageId" }, { type: "null" }] },
1780
- campaignId: { anyOf: [{ $ref: "#/$defs/CampaignId" }, { type: "null" }] },
1781
- campaignRunId: { anyOf: [{ $ref: "#/$defs/CampaignRunId" }, { type: "null" }] },
888
+ messageId: { anyOf: [{
889
+ type: "string",
890
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
891
+ }, { type: "null" }] },
892
+ campaignId: { anyOf: [{
893
+ type: "string",
894
+ pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
895
+ }, { type: "null" }] },
896
+ campaignRunId: { anyOf: [{
897
+ type: "string",
898
+ pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
899
+ }, { type: "null" }] },
1782
900
  occurredAt: { type: "string" }
1783
901
  },
1784
902
  required: [
@@ -1797,37 +915,7 @@ const WebhookEventJsonSchemas = {
1797
915
  "timestamp",
1798
916
  "data"
1799
917
  ],
1800
- additionalProperties: true,
1801
- $defs: {
1802
- OrganizationId: {
1803
- type: "string",
1804
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1805
- },
1806
- ContactId: {
1807
- type: "string",
1808
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1809
- },
1810
- ContactGroupId: {
1811
- type: "string",
1812
- pattern: "^cgrp_[0-9a-hjkmnp-tv-z]{16,24}$"
1813
- },
1814
- UnsubscribeId: {
1815
- type: "string",
1816
- pattern: "^unsub_[0-9a-hjkmnp-tv-z]{16,24}$"
1817
- },
1818
- MessageId: {
1819
- type: "string",
1820
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1821
- },
1822
- CampaignId: {
1823
- type: "string",
1824
- pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
1825
- },
1826
- CampaignRunId: {
1827
- type: "string",
1828
- pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
1829
- }
1830
- }
918
+ additionalProperties: true
1831
919
  },
1832
920
  "contact.resubscribed": {
1833
921
  type: "object",
@@ -1840,13 +928,25 @@ const WebhookEventJsonSchemas = {
1840
928
  data: {
1841
929
  type: "object",
1842
930
  properties: {
1843
- organizationId: { $ref: "#/$defs/OrganizationId" },
1844
- contactId: { $ref: "#/$defs/ContactId" },
931
+ organizationId: {
932
+ type: "string",
933
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
934
+ },
935
+ contactId: {
936
+ type: "string",
937
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
938
+ },
1845
939
  email: { anyOf: [{ type: "string" }, { type: "null" }] },
1846
940
  groupId: { type: "string" },
1847
941
  groupName: { type: "string" },
1848
- contactGroupId: { anyOf: [{ $ref: "#/$defs/ContactGroupId" }, { type: "null" }] },
1849
- unsubscribeGroupId: { anyOf: [{ $ref: "#/$defs/UnsubscribeId" }, { type: "null" }] },
942
+ contactGroupId: { anyOf: [{
943
+ type: "string",
944
+ pattern: "^cgrp_[0-9a-hjkmnp-tv-z]{16,24}$"
945
+ }, { type: "null" }] },
946
+ unsubscribeGroupId: { anyOf: [{
947
+ type: "string",
948
+ pattern: "^unsub_[0-9a-hjkmnp-tv-z]{16,24}$"
949
+ }, { type: "null" }] },
1850
950
  consentIp: { anyOf: [{ type: "string" }, { type: "null" }] },
1851
951
  consentSource: { anyOf: [{ type: "string" }, { type: "null" }] },
1852
952
  source: {
@@ -1858,9 +958,18 @@ const WebhookEventJsonSchemas = {
1858
958
  "complaint"
1859
959
  ]
1860
960
  },
1861
- messageId: { anyOf: [{ $ref: "#/$defs/MessageId" }, { type: "null" }] },
1862
- campaignId: { anyOf: [{ $ref: "#/$defs/CampaignId" }, { type: "null" }] },
1863
- campaignRunId: { anyOf: [{ $ref: "#/$defs/CampaignRunId" }, { type: "null" }] },
961
+ messageId: { anyOf: [{
962
+ type: "string",
963
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
964
+ }, { type: "null" }] },
965
+ campaignId: { anyOf: [{
966
+ type: "string",
967
+ pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
968
+ }, { type: "null" }] },
969
+ campaignRunId: { anyOf: [{
970
+ type: "string",
971
+ pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
972
+ }, { type: "null" }] },
1864
973
  occurredAt: { type: "string" }
1865
974
  },
1866
975
  required: [
@@ -1875,41 +984,11 @@ const WebhookEventJsonSchemas = {
1875
984
  }
1876
985
  },
1877
986
  required: [
1878
- "type",
1879
- "timestamp",
1880
- "data"
1881
- ],
1882
- additionalProperties: true,
1883
- $defs: {
1884
- OrganizationId: {
1885
- type: "string",
1886
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1887
- },
1888
- ContactId: {
1889
- type: "string",
1890
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1891
- },
1892
- ContactGroupId: {
1893
- type: "string",
1894
- pattern: "^cgrp_[0-9a-hjkmnp-tv-z]{16,24}$"
1895
- },
1896
- UnsubscribeId: {
1897
- type: "string",
1898
- pattern: "^unsub_[0-9a-hjkmnp-tv-z]{16,24}$"
1899
- },
1900
- MessageId: {
1901
- type: "string",
1902
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1903
- },
1904
- CampaignId: {
1905
- type: "string",
1906
- pattern: "^camp_[0-9a-hjkmnp-tv-z]{16,24}$"
1907
- },
1908
- CampaignRunId: {
1909
- type: "string",
1910
- pattern: "^crun_[0-9a-hjkmnp-tv-z]{16,24}$"
1911
- }
1912
- }
987
+ "type",
988
+ "timestamp",
989
+ "data"
990
+ ],
991
+ additionalProperties: true
1913
992
  },
1914
993
  "contact.consent_changed": {
1915
994
  type: "object",
@@ -1922,12 +1001,21 @@ const WebhookEventJsonSchemas = {
1922
1001
  data: {
1923
1002
  type: "object",
1924
1003
  properties: {
1925
- organizationId: { $ref: "#/$defs/OrganizationId" },
1926
- contactId: { $ref: "#/$defs/ContactId" },
1004
+ organizationId: {
1005
+ type: "string",
1006
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1007
+ },
1008
+ contactId: {
1009
+ type: "string",
1010
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1011
+ },
1927
1012
  identity: {
1928
1013
  type: "object",
1929
1014
  properties: {
1930
- id: { $ref: "#/$defs/ContactIdentityId" },
1015
+ id: {
1016
+ type: "string",
1017
+ pattern: "^cident_[0-9a-hjkmnp-tv-z]{16,24}$"
1018
+ },
1931
1019
  type: {
1932
1020
  type: "string",
1933
1021
  enum: ["email", "phone"]
@@ -1943,11 +1031,7 @@ const WebhookEventJsonSchemas = {
1943
1031
  },
1944
1032
  channel: {
1945
1033
  type: "string",
1946
- enum: [
1947
- "sms",
1948
- "whatsapp",
1949
- "email"
1950
- ]
1034
+ enum: ["email"]
1951
1035
  },
1952
1036
  status: {
1953
1037
  type: "string",
@@ -1978,21 +1062,7 @@ const WebhookEventJsonSchemas = {
1978
1062
  "timestamp",
1979
1063
  "data"
1980
1064
  ],
1981
- additionalProperties: true,
1982
- $defs: {
1983
- OrganizationId: {
1984
- type: "string",
1985
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1986
- },
1987
- ContactId: {
1988
- type: "string",
1989
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1990
- },
1991
- ContactIdentityId: {
1992
- type: "string",
1993
- pattern: "^cident_[0-9a-hjkmnp-tv-z]{16,24}$"
1994
- }
1995
- }
1065
+ additionalProperties: true
1996
1066
  },
1997
1067
  "conversation.created": {
1998
1068
  type: "object",
@@ -2005,27 +1075,25 @@ const WebhookEventJsonSchemas = {
2005
1075
  data: {
2006
1076
  type: "object",
2007
1077
  properties: {
2008
- conversationId: { $ref: "#/$defs/ConversationId" },
2009
- organizationId: { $ref: "#/$defs/OrganizationId" },
1078
+ conversationId: {
1079
+ type: "string",
1080
+ pattern: "^conv_[0-9a-hjkmnp-tv-z]{16,24}$"
1081
+ },
1082
+ organizationId: {
1083
+ type: "string",
1084
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1085
+ },
2010
1086
  title: { anyOf: [{ anyOf: [{ type: "string" }, { type: "null" }] }, { type: "null" }] },
2011
1087
  channels: {
2012
1088
  type: "array",
2013
1089
  items: {
2014
1090
  type: "string",
2015
- enum: [
2016
- "sms",
2017
- "whatsapp",
2018
- "email"
2019
- ]
1091
+ enum: ["email"]
2020
1092
  }
2021
1093
  },
2022
1094
  primaryChannel: {
2023
1095
  type: "string",
2024
- enum: [
2025
- "sms",
2026
- "whatsapp",
2027
- "email"
2028
- ]
1096
+ enum: ["email"]
2029
1097
  },
2030
1098
  status: {
2031
1099
  type: "string",
@@ -2037,7 +1105,10 @@ const WebhookEventJsonSchemas = {
2037
1105
  "archived"
2038
1106
  ]
2039
1107
  },
2040
- primaryContactId: { anyOf: [{ anyOf: [{ $ref: "#/$defs/ContactId" }, { type: "null" }] }, { type: "null" }] },
1108
+ primaryContactId: { anyOf: [{ anyOf: [{
1109
+ type: "string",
1110
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1111
+ }, { type: "null" }] }, { type: "null" }] },
2041
1112
  createdAt: { type: "string" },
2042
1113
  updatedAt: { type: "string" }
2043
1114
  },
@@ -2058,21 +1129,7 @@ const WebhookEventJsonSchemas = {
2058
1129
  "timestamp",
2059
1130
  "data"
2060
1131
  ],
2061
- additionalProperties: true,
2062
- $defs: {
2063
- ConversationId: {
2064
- type: "string",
2065
- pattern: "^conv_[0-9a-hjkmnp-tv-z]{16,24}$"
2066
- },
2067
- OrganizationId: {
2068
- type: "string",
2069
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2070
- },
2071
- ContactId: {
2072
- type: "string",
2073
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
2074
- }
2075
- }
1132
+ additionalProperties: true
2076
1133
  },
2077
1134
  "conversation.updated": {
2078
1135
  type: "object",
@@ -2085,27 +1142,25 @@ const WebhookEventJsonSchemas = {
2085
1142
  data: {
2086
1143
  type: "object",
2087
1144
  properties: {
2088
- conversationId: { $ref: "#/$defs/ConversationId" },
2089
- organizationId: { $ref: "#/$defs/OrganizationId" },
1145
+ conversationId: {
1146
+ type: "string",
1147
+ pattern: "^conv_[0-9a-hjkmnp-tv-z]{16,24}$"
1148
+ },
1149
+ organizationId: {
1150
+ type: "string",
1151
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1152
+ },
2090
1153
  title: { anyOf: [{ anyOf: [{ type: "string" }, { type: "null" }] }, { type: "null" }] },
2091
1154
  channels: {
2092
1155
  type: "array",
2093
1156
  items: {
2094
1157
  type: "string",
2095
- enum: [
2096
- "sms",
2097
- "whatsapp",
2098
- "email"
2099
- ]
1158
+ enum: ["email"]
2100
1159
  }
2101
1160
  },
2102
1161
  primaryChannel: {
2103
1162
  type: "string",
2104
- enum: [
2105
- "sms",
2106
- "whatsapp",
2107
- "email"
2108
- ]
1163
+ enum: ["email"]
2109
1164
  },
2110
1165
  status: {
2111
1166
  type: "string",
@@ -2117,7 +1172,10 @@ const WebhookEventJsonSchemas = {
2117
1172
  "archived"
2118
1173
  ]
2119
1174
  },
2120
- primaryContactId: { anyOf: [{ anyOf: [{ $ref: "#/$defs/ContactId" }, { type: "null" }] }, { type: "null" }] },
1175
+ primaryContactId: { anyOf: [{ anyOf: [{
1176
+ type: "string",
1177
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1178
+ }, { type: "null" }] }, { type: "null" }] },
2121
1179
  createdAt: { type: "string" },
2122
1180
  updatedAt: { type: "string" }
2123
1181
  },
@@ -2138,21 +1196,7 @@ const WebhookEventJsonSchemas = {
2138
1196
  "timestamp",
2139
1197
  "data"
2140
1198
  ],
2141
- additionalProperties: true,
2142
- $defs: {
2143
- ConversationId: {
2144
- type: "string",
2145
- pattern: "^conv_[0-9a-hjkmnp-tv-z]{16,24}$"
2146
- },
2147
- OrganizationId: {
2148
- type: "string",
2149
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2150
- },
2151
- ContactId: {
2152
- type: "string",
2153
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
2154
- }
2155
- }
1199
+ additionalProperties: true
2156
1200
  },
2157
1201
  "conversation.archived": {
2158
1202
  type: "object",
@@ -2165,27 +1209,25 @@ const WebhookEventJsonSchemas = {
2165
1209
  data: {
2166
1210
  type: "object",
2167
1211
  properties: {
2168
- conversationId: { $ref: "#/$defs/ConversationId" },
2169
- organizationId: { $ref: "#/$defs/OrganizationId" },
1212
+ conversationId: {
1213
+ type: "string",
1214
+ pattern: "^conv_[0-9a-hjkmnp-tv-z]{16,24}$"
1215
+ },
1216
+ organizationId: {
1217
+ type: "string",
1218
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1219
+ },
2170
1220
  title: { anyOf: [{ anyOf: [{ type: "string" }, { type: "null" }] }, { type: "null" }] },
2171
1221
  channels: {
2172
1222
  type: "array",
2173
1223
  items: {
2174
1224
  type: "string",
2175
- enum: [
2176
- "sms",
2177
- "whatsapp",
2178
- "email"
2179
- ]
1225
+ enum: ["email"]
2180
1226
  }
2181
1227
  },
2182
1228
  primaryChannel: {
2183
1229
  type: "string",
2184
- enum: [
2185
- "sms",
2186
- "whatsapp",
2187
- "email"
2188
- ]
1230
+ enum: ["email"]
2189
1231
  },
2190
1232
  status: {
2191
1233
  type: "string",
@@ -2197,7 +1239,10 @@ const WebhookEventJsonSchemas = {
2197
1239
  "archived"
2198
1240
  ]
2199
1241
  },
2200
- primaryContactId: { anyOf: [{ anyOf: [{ $ref: "#/$defs/ContactId" }, { type: "null" }] }, { type: "null" }] },
1242
+ primaryContactId: { anyOf: [{ anyOf: [{
1243
+ type: "string",
1244
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
1245
+ }, { type: "null" }] }, { type: "null" }] },
2201
1246
  createdAt: { type: "string" },
2202
1247
  updatedAt: { type: "string" }
2203
1248
  },
@@ -2218,21 +1263,7 @@ const WebhookEventJsonSchemas = {
2218
1263
  "timestamp",
2219
1264
  "data"
2220
1265
  ],
2221
- additionalProperties: true,
2222
- $defs: {
2223
- ConversationId: {
2224
- type: "string",
2225
- pattern: "^conv_[0-9a-hjkmnp-tv-z]{16,24}$"
2226
- },
2227
- OrganizationId: {
2228
- type: "string",
2229
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2230
- },
2231
- ContactId: {
2232
- type: "string",
2233
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
2234
- }
2235
- }
1266
+ additionalProperties: true
2236
1267
  },
2237
1268
  "webhook.created": {
2238
1269
  type: "object",
@@ -2245,8 +1276,14 @@ const WebhookEventJsonSchemas = {
2245
1276
  data: {
2246
1277
  type: "object",
2247
1278
  properties: {
2248
- webhookId: { $ref: "#/$defs/WebhookEndpointId" },
2249
- organizationId: { $ref: "#/$defs/OrganizationId" },
1279
+ webhookId: {
1280
+ type: "string",
1281
+ pattern: "^wep_[0-9a-hjkmnp-tv-z]{16,24}$"
1282
+ },
1283
+ organizationId: {
1284
+ type: "string",
1285
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1286
+ },
2250
1287
  name: { type: "string" },
2251
1288
  url: { type: "string" },
2252
1289
  eventTypes: {
@@ -2283,17 +1320,7 @@ const WebhookEventJsonSchemas = {
2283
1320
  "timestamp",
2284
1321
  "data"
2285
1322
  ],
2286
- additionalProperties: true,
2287
- $defs: {
2288
- WebhookEndpointId: {
2289
- type: "string",
2290
- pattern: "^wep_[0-9a-hjkmnp-tv-z]{16,24}$"
2291
- },
2292
- OrganizationId: {
2293
- type: "string",
2294
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2295
- }
2296
- }
1323
+ additionalProperties: true
2297
1324
  },
2298
1325
  "webhook.updated": {
2299
1326
  type: "object",
@@ -2306,8 +1333,14 @@ const WebhookEventJsonSchemas = {
2306
1333
  data: {
2307
1334
  type: "object",
2308
1335
  properties: {
2309
- webhookId: { $ref: "#/$defs/WebhookEndpointId" },
2310
- organizationId: { $ref: "#/$defs/OrganizationId" },
1336
+ webhookId: {
1337
+ type: "string",
1338
+ pattern: "^wep_[0-9a-hjkmnp-tv-z]{16,24}$"
1339
+ },
1340
+ organizationId: {
1341
+ type: "string",
1342
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1343
+ },
2311
1344
  name: { type: "string" },
2312
1345
  url: { type: "string" },
2313
1346
  eventTypes: {
@@ -2344,17 +1377,7 @@ const WebhookEventJsonSchemas = {
2344
1377
  "timestamp",
2345
1378
  "data"
2346
1379
  ],
2347
- additionalProperties: true,
2348
- $defs: {
2349
- WebhookEndpointId: {
2350
- type: "string",
2351
- pattern: "^wep_[0-9a-hjkmnp-tv-z]{16,24}$"
2352
- },
2353
- OrganizationId: {
2354
- type: "string",
2355
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2356
- }
2357
- }
1380
+ additionalProperties: true
2358
1381
  },
2359
1382
  "webhook.deleted": {
2360
1383
  type: "object",
@@ -2367,8 +1390,14 @@ const WebhookEventJsonSchemas = {
2367
1390
  data: {
2368
1391
  type: "object",
2369
1392
  properties: {
2370
- webhookId: { $ref: "#/$defs/WebhookEndpointId" },
2371
- organizationId: { $ref: "#/$defs/OrganizationId" },
1393
+ webhookId: {
1394
+ type: "string",
1395
+ pattern: "^wep_[0-9a-hjkmnp-tv-z]{16,24}$"
1396
+ },
1397
+ organizationId: {
1398
+ type: "string",
1399
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1400
+ },
2372
1401
  name: { type: "string" },
2373
1402
  url: { type: "string" },
2374
1403
  eventTypes: {
@@ -2405,17 +1434,7 @@ const WebhookEventJsonSchemas = {
2405
1434
  "timestamp",
2406
1435
  "data"
2407
1436
  ],
2408
- additionalProperties: true,
2409
- $defs: {
2410
- WebhookEndpointId: {
2411
- type: "string",
2412
- pattern: "^wep_[0-9a-hjkmnp-tv-z]{16,24}$"
2413
- },
2414
- OrganizationId: {
2415
- type: "string",
2416
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2417
- }
2418
- }
1437
+ additionalProperties: true
2419
1438
  },
2420
1439
  "webhook.test": {
2421
1440
  type: "object",
@@ -2432,8 +1451,7 @@ const WebhookEventJsonSchemas = {
2432
1451
  "timestamp",
2433
1452
  "data"
2434
1453
  ],
2435
- additionalProperties: true,
2436
- $defs: {}
1454
+ additionalProperties: true
2437
1455
  },
2438
1456
  "domain.updated": {
2439
1457
  type: "object",
@@ -2446,8 +1464,14 @@ const WebhookEventJsonSchemas = {
2446
1464
  data: {
2447
1465
  type: "object",
2448
1466
  properties: {
2449
- domainId: { $ref: "#/$defs/EmailDomainId" },
2450
- organizationId: { $ref: "#/$defs/OrganizationId" },
1467
+ domainId: {
1468
+ type: "string",
1469
+ pattern: "^dom_[0-9a-hjkmnp-tv-z]{16,24}$"
1470
+ },
1471
+ organizationId: {
1472
+ type: "string",
1473
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
1474
+ },
2451
1475
  domain: { type: "string" },
2452
1476
  previousPhase: {
2453
1477
  type: "string",
@@ -2525,7 +1549,10 @@ const WebhookEventJsonSchemas = {
2525
1549
  required: ["identity"],
2526
1550
  additionalProperties: true
2527
1551
  }, { type: "null" }] },
2528
- operationId: { anyOf: [{ $ref: "#/$defs/OperationId" }, { type: "null" }] },
1552
+ operationId: { anyOf: [{
1553
+ type: "string",
1554
+ pattern: "^op_[0-9a-hjkmnp-tv-z]{16,24}$"
1555
+ }, { type: "null" }] },
2529
1556
  checkedAt: { anyOf: [{ type: "string" }, { type: "null" }] },
2530
1557
  nextCheckAt: { anyOf: [{ type: "string" }, { type: "null" }] },
2531
1558
  failure: { anyOf: [{
@@ -2566,21 +1593,7 @@ const WebhookEventJsonSchemas = {
2566
1593
  "timestamp",
2567
1594
  "data"
2568
1595
  ],
2569
- additionalProperties: true,
2570
- $defs: {
2571
- EmailDomainId: {
2572
- type: "string",
2573
- pattern: "^dom_[0-9a-hjkmnp-tv-z]{16,24}$"
2574
- },
2575
- OrganizationId: {
2576
- type: "string",
2577
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2578
- },
2579
- OperationId: {
2580
- type: "string",
2581
- pattern: "^op_[0-9a-hjkmnp-tv-z]{16,24}$"
2582
- }
2583
- }
1596
+ additionalProperties: true
2584
1597
  },
2585
1598
  "domain.warming.updated": {
2586
1599
  type: "object",
@@ -2662,281 +1675,43 @@ const WebhookEventJsonSchemas = {
2662
1675
  "timestamp",
2663
1676
  "data"
2664
1677
  ],
2665
- additionalProperties: true,
2666
- $defs: {}
1678
+ additionalProperties: true
2667
1679
  },
2668
- "template.registration.updated": {
1680
+ "mailbox.message.received": {
2669
1681
  type: "object",
2670
1682
  properties: {
2671
1683
  type: {
2672
1684
  type: "string",
2673
- enum: ["template.registration.updated"]
1685
+ enum: ["mailbox.message.received"]
2674
1686
  },
2675
1687
  timestamp: { type: "string" },
2676
1688
  data: {
2677
1689
  type: "object",
2678
1690
  properties: {
2679
- id: { $ref: "#/$defs/TemplateRegistrationId" },
2680
- templateId: { $ref: "#/$defs/TemplateId" },
2681
- publicationId: { $ref: "#/$defs/TemplatePublicationId" },
2682
- target: { $ref: "#/$defs/TemplateRegistrationTarget" },
2683
- name: { type: "string" },
2684
- language: { type: "string" },
2685
- status: {
2686
- type: "string",
2687
- enum: [
2688
- "draft",
2689
- "submitted",
2690
- "approved",
2691
- "rejected",
2692
- "paused",
2693
- "disabled"
2694
- ]
2695
- },
2696
- category: {
1691
+ mailboxId: {
2697
1692
  type: "string",
2698
- enum: [
2699
- "marketing",
2700
- "utility",
2701
- "authentication",
2702
- "transactional",
2703
- "service_implicit",
2704
- "service_explicit",
2705
- "promotional"
2706
- ]
1693
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
2707
1694
  },
2708
- providerCategory: { anyOf: [{
1695
+ namespaceId: { anyOf: [{
2709
1696
  type: "string",
2710
- enum: [
2711
- "marketing",
2712
- "utility",
2713
- "authentication",
2714
- "transactional",
2715
- "service_implicit",
2716
- "service_explicit",
2717
- "promotional"
2718
- ]
1697
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
2719
1698
  }, { type: "null" }] },
2720
- providerTemplateId: { anyOf: [{ type: "string" }, { type: "null" }] },
2721
- reason: { anyOf: [{ type: "string" }, { type: "null" }] },
2722
- submittedAt: { anyOf: [{ type: "string" }, { type: "null" }] },
2723
- statusChangedAt: { type: "string" },
2724
- createdAt: { type: "string" },
2725
- updatedAt: { type: "string" },
2726
- organizationId: { $ref: "#/$defs/OrganizationId" },
2727
- previousStatus: {
2728
- type: "string",
2729
- enum: [
2730
- "draft",
2731
- "submitted",
2732
- "approved",
2733
- "rejected",
2734
- "paused",
2735
- "disabled"
2736
- ]
2737
- }
2738
- },
2739
- required: [
2740
- "id",
2741
- "templateId",
2742
- "publicationId",
2743
- "target",
2744
- "name",
2745
- "language",
2746
- "status",
2747
- "category",
2748
- "providerCategory",
2749
- "providerTemplateId",
2750
- "reason",
2751
- "submittedAt",
2752
- "statusChangedAt",
2753
- "createdAt",
2754
- "updatedAt",
2755
- "organizationId",
2756
- "previousStatus"
2757
- ],
2758
- additionalProperties: true
2759
- }
2760
- },
2761
- required: [
2762
- "type",
2763
- "timestamp",
2764
- "data"
2765
- ],
2766
- additionalProperties: true,
2767
- $defs: {
2768
- TemplateRegistrationId: {
2769
- type: "string",
2770
- pattern: "^treg_[0-9a-hjkmnp-tv-z]{16,24}$"
2771
- },
2772
- TemplateId: {
2773
- type: "string",
2774
- pattern: "^tmpl_[0-9a-hjkmnp-tv-z]{16,24}$"
2775
- },
2776
- TemplatePublicationId: {
2777
- type: "string",
2778
- pattern: "^tpub_[0-9a-hjkmnp-tv-z]{16,24}$"
2779
- },
2780
- WhatsAppRegistrationTarget: {
2781
- type: "object",
2782
- properties: {
2783
- provider: {
2784
- type: "string",
2785
- enum: ["whatsapp"]
2786
- },
2787
- wabaId: { type: "string" }
2788
- },
2789
- required: ["provider", "wabaId"],
2790
- additionalProperties: true
2791
- },
2792
- DltRegistrationTarget: {
2793
- type: "object",
2794
- properties: {
2795
- provider: {
2796
- type: "string",
2797
- enum: ["dlt"]
2798
- },
2799
- entityId: { type: "string" },
2800
- headerId: { type: "string" }
2801
- },
2802
- required: [
2803
- "provider",
2804
- "entityId",
2805
- "headerId"
2806
- ],
2807
- additionalProperties: true
2808
- },
2809
- TemplateRegistrationTarget: { anyOf: [{ $ref: "#/$defs/WhatsAppRegistrationTarget" }, { $ref: "#/$defs/DltRegistrationTarget" }] },
2810
- OrganizationId: {
2811
- type: "string",
2812
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2813
- }
2814
- }
2815
- },
2816
- "flow.registration.updated": {
2817
- type: "object",
2818
- properties: {
2819
- type: {
2820
- type: "string",
2821
- enum: ["flow.registration.updated"]
2822
- },
2823
- timestamp: { type: "string" },
2824
- data: {
2825
- type: "object",
2826
- properties: {
2827
- id: { $ref: "#/$defs/WhatsAppFlowRegistrationId" },
2828
- flowId: { $ref: "#/$defs/WhatsAppFlowId" },
2829
- versionId: { $ref: "#/$defs/WhatsAppFlowVersionId" },
2830
- versionNumber: { type: "integer" },
2831
- wabaId: { type: "string" },
2832
- providerFlowId: { anyOf: [{ type: "string" }, { type: "null" }] },
2833
- name: { type: "string" },
2834
- status: {
2835
- type: "string",
2836
- enum: [
2837
- "draft",
2838
- "published",
2839
- "throttled",
2840
- "blocked",
2841
- "deprecated"
2842
- ]
2843
- },
2844
- validationErrors: {
2845
- type: "array",
2846
- items: { $ref: "#/$defs/WhatsAppFlowValidationError" }
2847
- },
2848
- publishedAt: { anyOf: [{ type: "string" }, { type: "null" }] },
2849
- statusChangedAt: { type: "string" },
2850
- createdAt: { type: "string" },
2851
- updatedAt: { type: "string" },
2852
- organizationId: { $ref: "#/$defs/OrganizationId" },
2853
- previousStatus: { anyOf: [{
2854
- type: "string",
2855
- enum: [
2856
- "draft",
2857
- "published",
2858
- "throttled",
2859
- "blocked",
2860
- "deprecated"
2861
- ]
2862
- }, { type: "null" }] }
2863
- },
2864
- required: [
2865
- "id",
2866
- "flowId",
2867
- "versionId",
2868
- "versionNumber",
2869
- "wabaId",
2870
- "providerFlowId",
2871
- "name",
2872
- "status",
2873
- "validationErrors",
2874
- "publishedAt",
2875
- "statusChangedAt",
2876
- "createdAt",
2877
- "updatedAt",
2878
- "organizationId",
2879
- "previousStatus"
2880
- ],
2881
- additionalProperties: true
2882
- }
2883
- },
2884
- required: [
2885
- "type",
2886
- "timestamp",
2887
- "data"
2888
- ],
2889
- additionalProperties: true,
2890
- $defs: {
2891
- WhatsAppFlowRegistrationId: {
2892
- type: "string",
2893
- pattern: "^wafreg_[0-9a-hjkmnp-tv-z]{16,24}$"
2894
- },
2895
- WhatsAppFlowId: {
2896
- type: "string",
2897
- pattern: "^waflow_[0-9a-hjkmnp-tv-z]{16,24}$"
2898
- },
2899
- WhatsAppFlowVersionId: {
2900
- type: "string",
2901
- pattern: "^wafver_[0-9a-hjkmnp-tv-z]{16,24}$"
2902
- },
2903
- WhatsAppFlowValidationError: {
2904
- type: "object",
2905
- properties: {
2906
- error: { type: "string" },
2907
- message: { type: "string" },
2908
- path: { type: "string" },
2909
- line: { type: "integer" },
2910
- column: { type: "integer" }
2911
- },
2912
- required: ["error", "message"],
2913
- additionalProperties: true
2914
- },
2915
- OrganizationId: {
2916
- type: "string",
2917
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2918
- }
2919
- }
2920
- },
2921
- "mailbox.message.received": {
2922
- type: "object",
2923
- properties: {
2924
- type: {
2925
- type: "string",
2926
- enum: ["mailbox.message.received"]
2927
- },
2928
- timestamp: { type: "string" },
2929
- data: {
2930
- type: "object",
2931
- properties: {
2932
- mailboxId: { $ref: "#/$defs/MailboxId" },
2933
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
2934
1699
  message: {
2935
1700
  type: "object",
2936
1701
  properties: {
2937
- id: { $ref: "#/$defs/MessageId" },
2938
- channel: { $ref: "#/$defs/MailboxChannel" },
2939
- threadId: { $ref: "#/$defs/MailboxThreadId" },
1702
+ id: {
1703
+ type: "string",
1704
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1705
+ },
1706
+ channel: {
1707
+ type: "string",
1708
+ enum: ["email"],
1709
+ description: "Deliveries recorded before this field existed omit it; they are email."
1710
+ },
1711
+ threadId: {
1712
+ type: "string",
1713
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
1714
+ },
2940
1715
  from: {
2941
1716
  type: "object",
2942
1717
  properties: {
@@ -2962,7 +1737,10 @@ const WebhookEventJsonSchemas = {
2962
1737
  items: {
2963
1738
  type: "object",
2964
1739
  properties: {
2965
- id: { $ref: "#/$defs/AttachmentId" },
1740
+ id: {
1741
+ type: "string",
1742
+ pattern: "^att_[0-9a-hjkmnp-tv-z]{16,24}$"
1743
+ },
2966
1744
  filename: { type: "string" },
2967
1745
  contentType: { type: "string" },
2968
1746
  size: { type: "number" }
@@ -2995,9 +1773,15 @@ const WebhookEventJsonSchemas = {
2995
1773
  thread: {
2996
1774
  type: "object",
2997
1775
  properties: {
2998
- id: { $ref: "#/$defs/MailboxThreadId" },
1776
+ id: {
1777
+ type: "string",
1778
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
1779
+ },
2999
1780
  endpointId: {
3000
- anyOf: [{ $ref: "#/$defs/MailboxEndpointId" }, { type: "null" }],
1781
+ anyOf: [{
1782
+ type: "string",
1783
+ pattern: "^mbxep_[0-9a-hjkmnp-tv-z]{16,24}$"
1784
+ }, { type: "null" }],
3001
1785
  description: "The endpoint the message arrived at; null once it is removed. Deliveries recorded before this field existed omit it."
3002
1786
  },
3003
1787
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -3021,46 +1805,11 @@ const WebhookEventJsonSchemas = {
3021
1805
  }
3022
1806
  },
3023
1807
  required: [
3024
- "type",
3025
- "timestamp",
3026
- "data"
3027
- ],
3028
- additionalProperties: true,
3029
- $defs: {
3030
- MailboxId: {
3031
- type: "string",
3032
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3033
- },
3034
- NamespaceId: {
3035
- type: "string",
3036
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3037
- },
3038
- MessageId: {
3039
- type: "string",
3040
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
3041
- },
3042
- MailboxChannel: {
3043
- type: "string",
3044
- enum: [
3045
- "email",
3046
- "whatsapp",
3047
- "sms"
3048
- ],
3049
- description: "Deliveries recorded before this field existed omit it; they are email."
3050
- },
3051
- MailboxThreadId: {
3052
- type: "string",
3053
- pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
3054
- },
3055
- AttachmentId: {
3056
- type: "string",
3057
- pattern: "^att_[0-9a-hjkmnp-tv-z]{16,24}$"
3058
- },
3059
- MailboxEndpointId: {
3060
- type: "string",
3061
- pattern: "^mbxep_[0-9a-hjkmnp-tv-z]{16,24}$"
3062
- }
3063
- }
1808
+ "type",
1809
+ "timestamp",
1810
+ "data"
1811
+ ],
1812
+ additionalProperties: true
3064
1813
  },
3065
1814
  "mailbox.message.sent": {
3066
1815
  type: "object",
@@ -3073,9 +1822,18 @@ const WebhookEventJsonSchemas = {
3073
1822
  data: {
3074
1823
  type: "object",
3075
1824
  properties: {
3076
- mailboxId: { $ref: "#/$defs/MailboxId" },
3077
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
3078
- actionId: { $ref: "#/$defs/MailboxActionId" },
1825
+ mailboxId: {
1826
+ type: "string",
1827
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
1828
+ },
1829
+ namespaceId: { anyOf: [{
1830
+ type: "string",
1831
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
1832
+ }, { type: "null" }] },
1833
+ actionId: {
1834
+ type: "string",
1835
+ pattern: "^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$"
1836
+ },
3079
1837
  state: {
3080
1838
  type: "string",
3081
1839
  enum: ["completed"],
@@ -3119,9 +1877,19 @@ const WebhookEventJsonSchemas = {
3119
1877
  message: {
3120
1878
  type: "object",
3121
1879
  properties: {
3122
- id: { $ref: "#/$defs/MessageId" },
3123
- channel: { $ref: "#/$defs/MailboxChannel" },
3124
- threadId: { $ref: "#/$defs/MailboxThreadId" },
1880
+ id: {
1881
+ type: "string",
1882
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
1883
+ },
1884
+ channel: {
1885
+ type: "string",
1886
+ enum: ["email"],
1887
+ description: "Deliveries recorded before this field existed omit it; they are email."
1888
+ },
1889
+ threadId: {
1890
+ type: "string",
1891
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
1892
+ },
3125
1893
  from: {
3126
1894
  type: "object",
3127
1895
  properties: {
@@ -3147,7 +1915,10 @@ const WebhookEventJsonSchemas = {
3147
1915
  items: {
3148
1916
  type: "object",
3149
1917
  properties: {
3150
- id: { $ref: "#/$defs/AttachmentId" },
1918
+ id: {
1919
+ type: "string",
1920
+ pattern: "^att_[0-9a-hjkmnp-tv-z]{16,24}$"
1921
+ },
3151
1922
  filename: { type: "string" },
3152
1923
  contentType: { type: "string" },
3153
1924
  size: { type: "number" }
@@ -3193,42 +1964,7 @@ const WebhookEventJsonSchemas = {
3193
1964
  "timestamp",
3194
1965
  "data"
3195
1966
  ],
3196
- additionalProperties: true,
3197
- $defs: {
3198
- MailboxId: {
3199
- type: "string",
3200
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3201
- },
3202
- NamespaceId: {
3203
- type: "string",
3204
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3205
- },
3206
- MailboxActionId: {
3207
- type: "string",
3208
- pattern: "^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$"
3209
- },
3210
- MessageId: {
3211
- type: "string",
3212
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
3213
- },
3214
- MailboxChannel: {
3215
- type: "string",
3216
- enum: [
3217
- "email",
3218
- "whatsapp",
3219
- "sms"
3220
- ],
3221
- description: "Deliveries recorded before this field existed omit it; they are email."
3222
- },
3223
- MailboxThreadId: {
3224
- type: "string",
3225
- pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
3226
- },
3227
- AttachmentId: {
3228
- type: "string",
3229
- pattern: "^att_[0-9a-hjkmnp-tv-z]{16,24}$"
3230
- }
3231
- }
1967
+ additionalProperties: true
3232
1968
  },
3233
1969
  "mailbox.action.pending_approval": {
3234
1970
  type: "object",
@@ -3241,12 +1977,21 @@ const WebhookEventJsonSchemas = {
3241
1977
  data: {
3242
1978
  type: "object",
3243
1979
  properties: {
3244
- mailboxId: { $ref: "#/$defs/MailboxId" },
3245
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
1980
+ mailboxId: {
1981
+ type: "string",
1982
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
1983
+ },
1984
+ namespaceId: { anyOf: [{
1985
+ type: "string",
1986
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
1987
+ }, { type: "null" }] },
3246
1988
  action: {
3247
1989
  type: "object",
3248
1990
  properties: {
3249
- id: { $ref: "#/$defs/MailboxActionId" },
1991
+ id: {
1992
+ type: "string",
1993
+ pattern: "^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$"
1994
+ },
3250
1995
  type: {
3251
1996
  type: "string",
3252
1997
  enum: [
@@ -3265,8 +2010,46 @@ const WebhookEventJsonSchemas = {
3265
2010
  enum: ["approvalRequired"],
3266
2011
  description: "Deliveries recorded before this field existed omit it."
3267
2012
  },
3268
- decision: { $ref: "#/$defs/MailboxActionDecision" },
3269
- threadId: { anyOf: [{ $ref: "#/$defs/MailboxThreadId" }, { type: "null" }] },
2013
+ decision: {
2014
+ type: "object",
2015
+ properties: {
2016
+ outcome: {
2017
+ type: "string",
2018
+ enum: [
2019
+ "allow",
2020
+ "requireApproval",
2021
+ "deny"
2022
+ ]
2023
+ },
2024
+ reason: { anyOf: [{ type: "string" }, { type: "null" }] },
2025
+ policyId: { anyOf: [{
2026
+ type: "string",
2027
+ pattern: "^mbxpol_[0-9a-hjkmnp-tv-z]{16,24}$"
2028
+ }, { type: "null" }] },
2029
+ source: { anyOf: [{
2030
+ type: "string",
2031
+ enum: [
2032
+ "grant",
2033
+ "installation",
2034
+ "policy"
2035
+ ]
2036
+ }, { type: "null" }] },
2037
+ decidedAt: { type: "string" }
2038
+ },
2039
+ required: [
2040
+ "outcome",
2041
+ "reason",
2042
+ "policyId",
2043
+ "source",
2044
+ "decidedAt"
2045
+ ],
2046
+ additionalProperties: true,
2047
+ description: "Deliveries recorded before this field existed omit it."
2048
+ },
2049
+ threadId: { anyOf: [{
2050
+ type: "string",
2051
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
2052
+ }, { type: "null" }] },
3270
2053
  reason: { anyOf: [{ type: "string" }, { type: "null" }] },
3271
2054
  proposedBy: {
3272
2055
  type: "object",
@@ -3349,62 +2132,7 @@ const WebhookEventJsonSchemas = {
3349
2132
  "timestamp",
3350
2133
  "data"
3351
2134
  ],
3352
- additionalProperties: true,
3353
- $defs: {
3354
- MailboxId: {
3355
- type: "string",
3356
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3357
- },
3358
- NamespaceId: {
3359
- type: "string",
3360
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3361
- },
3362
- MailboxActionId: {
3363
- type: "string",
3364
- pattern: "^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$"
3365
- },
3366
- MailboxPolicyId: {
3367
- type: "string",
3368
- pattern: "^mbxpol_[0-9a-hjkmnp-tv-z]{16,24}$"
3369
- },
3370
- MailboxActionDecision: {
3371
- type: "object",
3372
- properties: {
3373
- outcome: {
3374
- type: "string",
3375
- enum: [
3376
- "allow",
3377
- "requireApproval",
3378
- "deny"
3379
- ]
3380
- },
3381
- reason: { anyOf: [{ type: "string" }, { type: "null" }] },
3382
- policyId: { anyOf: [{ $ref: "#/$defs/MailboxPolicyId" }, { type: "null" }] },
3383
- source: { anyOf: [{
3384
- type: "string",
3385
- enum: [
3386
- "grant",
3387
- "installation",
3388
- "policy"
3389
- ]
3390
- }, { type: "null" }] },
3391
- decidedAt: { type: "string" }
3392
- },
3393
- required: [
3394
- "outcome",
3395
- "reason",
3396
- "policyId",
3397
- "source",
3398
- "decidedAt"
3399
- ],
3400
- additionalProperties: true,
3401
- description: "Deliveries recorded before this field existed omit it."
3402
- },
3403
- MailboxThreadId: {
3404
- type: "string",
3405
- pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
3406
- }
3407
- }
2135
+ additionalProperties: true
3408
2136
  },
3409
2137
  "mailbox.action.resolved": {
3410
2138
  type: "object",
@@ -3417,12 +2145,21 @@ const WebhookEventJsonSchemas = {
3417
2145
  data: {
3418
2146
  type: "object",
3419
2147
  properties: {
3420
- mailboxId: { $ref: "#/$defs/MailboxId" },
3421
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
2148
+ mailboxId: {
2149
+ type: "string",
2150
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
2151
+ },
2152
+ namespaceId: { anyOf: [{
2153
+ type: "string",
2154
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
2155
+ }, { type: "null" }] },
3422
2156
  action: {
3423
2157
  type: "object",
3424
2158
  properties: {
3425
- id: { $ref: "#/$defs/MailboxActionId" },
2159
+ id: {
2160
+ type: "string",
2161
+ pattern: "^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$"
2162
+ },
3426
2163
  type: {
3427
2164
  type: "string",
3428
2165
  enum: [
@@ -3436,7 +2173,10 @@ const WebhookEventJsonSchemas = {
3436
2173
  "extensionRequest"
3437
2174
  ]
3438
2175
  },
3439
- threadId: { anyOf: [{ $ref: "#/$defs/MailboxThreadId" }, { type: "null" }] },
2176
+ threadId: { anyOf: [{
2177
+ type: "string",
2178
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
2179
+ }, { type: "null" }] },
3440
2180
  proposedBy: {
3441
2181
  type: "object",
3442
2182
  properties: {
@@ -3482,102 +2222,83 @@ const WebhookEventJsonSchemas = {
3482
2222
  ],
3483
2223
  additionalProperties: true
3484
2224
  },
3485
- resolution: { $ref: "#/$defs/MailboxActionResolution" }
3486
- },
3487
- required: [
3488
- "mailboxId",
3489
- "namespaceId",
3490
- "action",
3491
- "resolution"
3492
- ],
3493
- additionalProperties: true
3494
- }
3495
- },
3496
- required: [
3497
- "type",
3498
- "timestamp",
3499
- "data"
3500
- ],
3501
- additionalProperties: true,
3502
- $defs: {
3503
- MailboxId: {
3504
- type: "string",
3505
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3506
- },
3507
- NamespaceId: {
3508
- type: "string",
3509
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3510
- },
3511
- MailboxActionId: {
3512
- type: "string",
3513
- pattern: "^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$"
3514
- },
3515
- MailboxThreadId: {
3516
- type: "string",
3517
- pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
3518
- },
3519
- MailboxActionResolution: {
3520
- type: "object",
3521
- properties: {
3522
- outcome: {
3523
- type: "string",
3524
- enum: [
3525
- "approved",
3526
- "denied",
3527
- "cancelled"
3528
- ]
3529
- },
3530
- actor: {
2225
+ resolution: {
3531
2226
  type: "object",
3532
2227
  properties: {
3533
- kind: {
2228
+ outcome: {
3534
2229
  type: "string",
3535
2230
  enum: [
3536
- "user",
3537
- "apiKey",
3538
- "extension",
3539
- "externalAgent",
3540
- "samvaAgent",
3541
- "system"
2231
+ "approved",
2232
+ "denied",
2233
+ "cancelled"
3542
2234
  ]
3543
2235
  },
3544
- id: { type: "string" },
3545
- displayName: { anyOf: [{ type: "string" }, { type: "null" }] },
3546
- source: {
3547
- type: "string",
3548
- enum: [
3549
- "humanUi",
3550
- "externalApi",
3551
- "externalAgent",
3552
- "extension",
3553
- "system"
3554
- ]
2236
+ actor: {
2237
+ type: "object",
2238
+ properties: {
2239
+ kind: {
2240
+ type: "string",
2241
+ enum: [
2242
+ "user",
2243
+ "apiKey",
2244
+ "extension",
2245
+ "externalAgent",
2246
+ "samvaAgent",
2247
+ "system"
2248
+ ]
2249
+ },
2250
+ id: { type: "string" },
2251
+ displayName: { anyOf: [{ type: "string" }, { type: "null" }] },
2252
+ source: {
2253
+ type: "string",
2254
+ enum: [
2255
+ "humanUi",
2256
+ "externalApi",
2257
+ "externalAgent",
2258
+ "extension",
2259
+ "system"
2260
+ ]
2261
+ }
2262
+ },
2263
+ required: [
2264
+ "kind",
2265
+ "id",
2266
+ "source"
2267
+ ],
2268
+ additionalProperties: true,
2269
+ description: "Who resolved the approval."
2270
+ },
2271
+ resolvedAt: { type: "string" },
2272
+ reason: {
2273
+ anyOf: [{ type: "string" }, { type: "null" }],
2274
+ description: "The denial reason; null for an approval or a cancellation."
3555
2275
  }
3556
2276
  },
3557
2277
  required: [
3558
- "kind",
3559
- "id",
3560
- "source"
2278
+ "outcome",
2279
+ "actor",
2280
+ "resolvedAt",
2281
+ "reason"
3561
2282
  ],
3562
2283
  additionalProperties: true,
3563
- description: "Who resolved the approval."
3564
- },
3565
- resolvedAt: { type: "string" },
3566
- reason: {
3567
- anyOf: [{ type: "string" }, { type: "null" }],
3568
- description: "The denial reason; null for an approval or a cancellation."
2284
+ description: "How the action's approval ended."
3569
2285
  }
3570
2286
  },
3571
2287
  required: [
3572
- "outcome",
3573
- "actor",
3574
- "resolvedAt",
3575
- "reason"
2288
+ "mailboxId",
2289
+ "namespaceId",
2290
+ "action",
2291
+ "resolution"
3576
2292
  ],
3577
- additionalProperties: true,
3578
- description: "How the action's approval ended."
2293
+ additionalProperties: true
3579
2294
  }
3580
- }
2295
+ },
2296
+ required: [
2297
+ "type",
2298
+ "timestamp",
2299
+ "data"
2300
+ ],
2301
+ additionalProperties: true
3581
2302
  },
3582
2303
  "mailbox.message.quarantined": {
3583
2304
  type: "object",
@@ -3590,8 +2311,14 @@ const WebhookEventJsonSchemas = {
3590
2311
  data: {
3591
2312
  type: "object",
3592
2313
  properties: {
3593
- mailboxId: { $ref: "#/$defs/MailboxId" },
3594
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
2314
+ mailboxId: {
2315
+ type: "string",
2316
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
2317
+ },
2318
+ namespaceId: { anyOf: [{
2319
+ type: "string",
2320
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
2321
+ }, { type: "null" }] },
3595
2322
  disposition: {
3596
2323
  type: "string",
3597
2324
  enum: ["quarantined", "isolated"]
@@ -3615,7 +2342,10 @@ const WebhookEventJsonSchemas = {
3615
2342
  message: {
3616
2343
  type: "object",
3617
2344
  properties: {
3618
- id: { $ref: "#/$defs/MessageId" },
2345
+ id: {
2346
+ type: "string",
2347
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
2348
+ },
3619
2349
  from: {
3620
2350
  type: "object",
3621
2351
  properties: {
@@ -3653,21 +2383,7 @@ const WebhookEventJsonSchemas = {
3653
2383
  "timestamp",
3654
2384
  "data"
3655
2385
  ],
3656
- additionalProperties: true,
3657
- $defs: {
3658
- MailboxId: {
3659
- type: "string",
3660
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3661
- },
3662
- NamespaceId: {
3663
- type: "string",
3664
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3665
- },
3666
- MessageId: {
3667
- type: "string",
3668
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
3669
- }
3670
- }
2386
+ additionalProperties: true
3671
2387
  },
3672
2388
  "mailbox.message.released": {
3673
2389
  type: "object",
@@ -3680,8 +2396,14 @@ const WebhookEventJsonSchemas = {
3680
2396
  data: {
3681
2397
  type: "object",
3682
2398
  properties: {
3683
- mailboxId: { $ref: "#/$defs/MailboxId" },
3684
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
2399
+ mailboxId: {
2400
+ type: "string",
2401
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
2402
+ },
2403
+ namespaceId: { anyOf: [{
2404
+ type: "string",
2405
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
2406
+ }, { type: "null" }] },
3685
2407
  releasedBy: {
3686
2408
  type: "object",
3687
2409
  properties: {
@@ -3731,9 +2453,19 @@ const WebhookEventJsonSchemas = {
3731
2453
  message: {
3732
2454
  type: "object",
3733
2455
  properties: {
3734
- id: { $ref: "#/$defs/MessageId" },
3735
- channel: { $ref: "#/$defs/MailboxChannel" },
3736
- threadId: { $ref: "#/$defs/MailboxThreadId" },
2456
+ id: {
2457
+ type: "string",
2458
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
2459
+ },
2460
+ channel: {
2461
+ type: "string",
2462
+ enum: ["email"],
2463
+ description: "Deliveries recorded before this field existed omit it; they are email."
2464
+ },
2465
+ threadId: {
2466
+ type: "string",
2467
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
2468
+ },
3737
2469
  from: {
3738
2470
  type: "object",
3739
2471
  properties: {
@@ -3759,7 +2491,10 @@ const WebhookEventJsonSchemas = {
3759
2491
  items: {
3760
2492
  type: "object",
3761
2493
  properties: {
3762
- id: { $ref: "#/$defs/AttachmentId" },
2494
+ id: {
2495
+ type: "string",
2496
+ pattern: "^att_[0-9a-hjkmnp-tv-z]{16,24}$"
2497
+ },
3763
2498
  filename: { type: "string" },
3764
2499
  contentType: { type: "string" },
3765
2500
  size: { type: "number" }
@@ -3792,9 +2527,15 @@ const WebhookEventJsonSchemas = {
3792
2527
  thread: {
3793
2528
  type: "object",
3794
2529
  properties: {
3795
- id: { $ref: "#/$defs/MailboxThreadId" },
2530
+ id: {
2531
+ type: "string",
2532
+ pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
2533
+ },
3796
2534
  endpointId: {
3797
- anyOf: [{ $ref: "#/$defs/MailboxEndpointId" }, { type: "null" }],
2535
+ anyOf: [{
2536
+ type: "string",
2537
+ pattern: "^mbxep_[0-9a-hjkmnp-tv-z]{16,24}$"
2538
+ }, { type: "null" }],
3798
2539
  description: "The endpoint the message arrived at; null once it is removed. Deliveries recorded before this field existed omit it."
3799
2540
  },
3800
2541
  subject: { anyOf: [{ type: "string" }, { type: "null" }] },
@@ -3824,42 +2565,7 @@ const WebhookEventJsonSchemas = {
3824
2565
  "timestamp",
3825
2566
  "data"
3826
2567
  ],
3827
- additionalProperties: true,
3828
- $defs: {
3829
- MailboxId: {
3830
- type: "string",
3831
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3832
- },
3833
- NamespaceId: {
3834
- type: "string",
3835
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3836
- },
3837
- MessageId: {
3838
- type: "string",
3839
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
3840
- },
3841
- MailboxChannel: {
3842
- type: "string",
3843
- enum: [
3844
- "email",
3845
- "whatsapp",
3846
- "sms"
3847
- ],
3848
- description: "Deliveries recorded before this field existed omit it; they are email."
3849
- },
3850
- MailboxThreadId: {
3851
- type: "string",
3852
- pattern: "^thread_[0-9a-hjkmnp-tv-z]{16,24}$"
3853
- },
3854
- AttachmentId: {
3855
- type: "string",
3856
- pattern: "^att_[0-9a-hjkmnp-tv-z]{16,24}$"
3857
- },
3858
- MailboxEndpointId: {
3859
- type: "string",
3860
- pattern: "^mbxep_[0-9a-hjkmnp-tv-z]{16,24}$"
3861
- }
3862
- }
2568
+ additionalProperties: true
3863
2569
  },
3864
2570
  "mailbox.message.discarded": {
3865
2571
  type: "object",
@@ -3872,8 +2578,14 @@ const WebhookEventJsonSchemas = {
3872
2578
  data: {
3873
2579
  type: "object",
3874
2580
  properties: {
3875
- mailboxId: { $ref: "#/$defs/MailboxId" },
3876
- namespaceId: { anyOf: [{ $ref: "#/$defs/NamespaceId" }, { type: "null" }] },
2581
+ mailboxId: {
2582
+ type: "string",
2583
+ pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
2584
+ },
2585
+ namespaceId: { anyOf: [{
2586
+ type: "string",
2587
+ pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
2588
+ }, { type: "null" }] },
3877
2589
  discardedBy: {
3878
2590
  type: "object",
3879
2591
  properties: {
@@ -3927,7 +2639,10 @@ const WebhookEventJsonSchemas = {
3927
2639
  message: {
3928
2640
  type: "object",
3929
2641
  properties: {
3930
- id: { $ref: "#/$defs/MessageId" },
2642
+ id: {
2643
+ type: "string",
2644
+ pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
2645
+ },
3931
2646
  from: {
3932
2647
  type: "object",
3933
2648
  properties: {
@@ -3965,21 +2680,7 @@ const WebhookEventJsonSchemas = {
3965
2680
  "timestamp",
3966
2681
  "data"
3967
2682
  ],
3968
- additionalProperties: true,
3969
- $defs: {
3970
- MailboxId: {
3971
- type: "string",
3972
- pattern: "^mbx_[0-9a-hjkmnp-tv-z]{16,24}$"
3973
- },
3974
- NamespaceId: {
3975
- type: "string",
3976
- pattern: "^ns_[0-9a-hjkmnp-tv-z]{16,24}$"
3977
- },
3978
- MessageId: {
3979
- type: "string",
3980
- pattern: "^msg_[0-9a-hjkmnp-tv-z]{16,24}$"
3981
- }
3982
- }
2683
+ additionalProperties: true
3983
2684
  },
3984
2685
  "journey.webhook": {
3985
2686
  type: "object",
@@ -3992,15 +2693,27 @@ const WebhookEventJsonSchemas = {
3992
2693
  data: {
3993
2694
  type: "object",
3994
2695
  properties: {
3995
- organizationId: { $ref: "#/$defs/OrganizationId" },
3996
- journeyId: { $ref: "#/$defs/JourneyId" },
2696
+ organizationId: {
2697
+ type: "string",
2698
+ pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
2699
+ },
2700
+ journeyId: {
2701
+ type: "string",
2702
+ pattern: "^jrny_[0-9a-hjkmnp-tv-z]{16,24}$"
2703
+ },
3997
2704
  journeyVersion: { type: "integer" },
3998
- runId: { $ref: "#/$defs/JourneyRunId" },
2705
+ runId: {
2706
+ type: "string",
2707
+ pattern: "^jrun_[0-9a-hjkmnp-tv-z]{16,24}$"
2708
+ },
3999
2709
  nodeId: { type: "string" },
4000
2710
  contact: {
4001
2711
  type: "object",
4002
2712
  properties: {
4003
- id: { $ref: "#/$defs/ContactId" },
2713
+ id: {
2714
+ type: "string",
2715
+ pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
2716
+ },
4004
2717
  externalId: { anyOf: [{ type: "string" }, { type: "null" }] },
4005
2718
  email: { anyOf: [{ type: "string" }, { type: "null" }] }
4006
2719
  },
@@ -4011,7 +2724,7 @@ const WebhookEventJsonSchemas = {
4011
2724
  ],
4012
2725
  additionalProperties: true
4013
2726
  },
4014
- data: { $ref: "#/$defs/JsonObject" }
2727
+ data: { type: "object" }
4015
2728
  },
4016
2729
  required: [
4017
2730
  "organizationId",
@@ -4030,29 +2743,10 @@ const WebhookEventJsonSchemas = {
4030
2743
  "timestamp",
4031
2744
  "data"
4032
2745
  ],
4033
- additionalProperties: true,
4034
- $defs: {
4035
- OrganizationId: {
4036
- type: "string",
4037
- pattern: "^org_[0-9a-hjkmnp-tv-z]{16,24}$"
4038
- },
4039
- JourneyId: {
4040
- type: "string",
4041
- pattern: "^jrny_[0-9a-hjkmnp-tv-z]{16,24}$"
4042
- },
4043
- JourneyRunId: {
4044
- type: "string",
4045
- pattern: "^jrun_[0-9a-hjkmnp-tv-z]{16,24}$"
4046
- },
4047
- ContactId: {
4048
- type: "string",
4049
- pattern: "^contact_[0-9a-hjkmnp-tv-z]{16,24}$"
4050
- },
4051
- JsonObject: { type: "object" }
4052
- }
2746
+ additionalProperties: true
4053
2747
  }
4054
2748
  };
4055
2749
  //#endregion
4056
2750
  export { WebhookEventJsonSchemas as t };
4057
2751
 
4058
- //# sourceMappingURL=json-schemas.gen-CzhmDgcj.js.map
2752
+ //# sourceMappingURL=json-schemas.gen-BPULV030.js.map