@productcraft/trawl 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -497,22 +497,62 @@ interface components {
497
497
  */
498
498
  low_balance_threshold_steps: number;
499
499
  };
500
- ErrorResponseDto: {
500
+ ErrorParamDto: {
501
501
  /**
502
- * @description Stable, machine-readable error code; branch on this, not on `message`. Always present. A route-specific code when the route defines one (e.g. `WEBHOOK_ENDPOINT_NOT_FOUND`, `SERVICE_NOT_ENABLED`), otherwise the generic code for the status: `BAD_REQUEST`, `VALIDATION_ERROR` (400 from request validation), `UNAUTHORIZED`, `FORBIDDEN`, `NOT_FOUND`, `CONFLICT`, `PAYLOAD_TOO_LARGE`, `UNPROCESSABLE_ENTITY`, `RATE_LIMITED`, `INTERNAL_SERVER_ERROR`, `SERVICE_UNAVAILABLE`.
503
- * @example SERVICE_NOT_ENABLED
502
+ * @description The failed rule (class-validator constraint name, e.g. `isEmail`, `isUuid`, `whitelistValidation` for a field the operation does not declare), or `invalid`.
503
+ * @example isEmail
504
504
  */
505
505
  code: string;
506
506
  /**
507
- * @description Human-readable error message. May be a class-validator array on 400.
508
- * @example Policy denies trawl.read on pcft:workspace/7a0c2f7e-2b8d-4f7f-9a51-3f1f0e1f3c11
507
+ * @description What is wrong with it; the same text as the field's entry in an array `message`.
508
+ * @example email must be an email
509
+ */
510
+ message: string;
511
+ /**
512
+ * @description Wire path of the invalid field: `email`, `items.0.display_name`.
513
+ * @example email
514
+ */
515
+ param: string;
516
+ };
517
+ ErrorResponseDto: {
518
+ /**
519
+ * @description Stable, machine-readable error code; branch on this, not on `message`. Always present. A route-specific code when the route defines one, otherwise the generic code for the status (`NOT_FOUND`, `VALIDATION_ERROR`, `RATE_LIMITED`, ...). Open set: accept codes you do not know. Each code is documented at https://productcraft.co/docs/errors#<code>.
520
+ * @example NOT_FOUND
521
+ */
522
+ code: components["schemas"]["TrawlErrorCode"];
523
+ /**
524
+ * @description Structured context for errors a client has to act on, keyed in snake_case and specific to the code (e.g. `{ fqdn, reason }` on `from_domain_not_verified`). Absent on most errors.
525
+ * @example {
526
+ * "fqdn": "mail.example.com",
527
+ * "reason": "not_verified"
528
+ * }
529
+ */
530
+ details?: {
531
+ [key: string]: unknown;
532
+ };
533
+ /** @description One entry per invalid request field on a `VALIDATION_ERROR`; empty on every other error. */
534
+ errors: components["schemas"]["ErrorParamDto"][];
535
+ /**
536
+ * @description Human-readable error message. A string, or on a `VALIDATION_ERROR` an array with one message per invalid field (the same texts as `errors[].message`). Branch on `code`, not on this.
537
+ * @example Domain not found
509
538
  */
510
539
  message: string | string[];
511
540
  /**
512
- * @description HTTP status code echoed in the body. Spelled `statusCode` (camelCase) in every ProductCraft API.
513
- * @example 403
541
+ * @description The request's id, same as the `X-Request-Id` response header. Quote it when contacting support.
542
+ * @example req_6f1c2a9d4b7e4f0a8c3d2e1f0a9b8c7d
514
543
  */
515
- statusCode: number;
544
+ request_id: string;
545
+ /**
546
+ * @deprecated
547
+ * @description Deprecated alias of `status_code`, same value. Kept so existing clients keep working; read `status_code`. Error responses carry `Deprecation: true` while it is sent.
548
+ * @example 404
549
+ */
550
+ statusCode?: number;
551
+ /**
552
+ * @description HTTP status code, same as the response status.
553
+ * @example 404
554
+ */
555
+ status_code: number;
516
556
  };
517
557
  JobListPaginationDto: {
518
558
  has_more: boolean;
@@ -580,6 +620,8 @@ interface components {
580
620
  */
581
621
  event_type: "job.succeeded" | "job.failed" | "credits.low";
582
622
  };
623
+ /** @description Error codes this API returns (open set: a client must accept codes it does not know; new codes are not a breaking change). Each is documented at https://productcraft.co/docs/errors#<code>. */
624
+ TrawlErrorCode: ("BAD_REQUEST" | "VALIDATION_ERROR" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_ENTITY" | "PRECONDITION_REQUIRED" | "RATE_LIMITED" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "SERVICE_NOT_ENABLED" | "INVALID_CREDENTIALS" | "SESSION_REVOKED" | "MCP_NOT_PERMITTED" | "MCP_WORKSPACE_MISMATCH" | "PAK_NOT_PERMITTED" | "ACTIONS_NOT_GRANTABLE" | "IDEMPOTENCY_KEY_REUSE" | "IDEMPOTENCY_KEY_REQUIRED" | "WEBHOOK_ENDPOINT_LIMIT" | "WEBHOOK_ENDPOINT_NOT_FOUND" | "WEBHOOK_ENDPOINT_NOT_SUBSCRIBED" | "WEBHOOK_EVENT_NOT_FOUND" | "WEBHOOK_EVENT_TYPE_UNKNOWN" | "TOO_MANY_ACTIVE_JOBS" | "TRAWL_CREDITS_EXHAUSTED") | string;
583
625
  TrawlStatsInWindowDto: {
584
626
  /**
585
627
  * @description Of those, jobs that failed.
@@ -1046,7 +1088,10 @@ interface components {
1046
1088
  responses: never;
1047
1089
  parameters: never;
1048
1090
  requestBodies: never;
1049
- headers: never;
1091
+ headers: {
1092
+ /** @description The request's id: the inbound `X-Request-Id` when it is 1 to 128 characters of `A-Z a-z 0-9 . _ : -`, otherwise a fresh `req_...` id. Error bodies repeat it as `request_id`. Quote it when contacting support. */
1093
+ RequestId: string;
1094
+ };
1050
1095
  pathItems: never;
1051
1096
  }
1052
1097
  interface operations {
@@ -1067,6 +1112,7 @@ interface operations {
1067
1112
  /** @description Balance, low-balance state and recent entries. */
1068
1113
  200: {
1069
1114
  headers: {
1115
+ "X-Request-Id": components["headers"]["RequestId"];
1070
1116
  [name: string]: unknown;
1071
1117
  };
1072
1118
  content: {
@@ -1076,6 +1122,7 @@ interface operations {
1076
1122
  /** @description Missing or invalid bearer token. */
1077
1123
  401: {
1078
1124
  headers: {
1125
+ "X-Request-Id": components["headers"]["RequestId"];
1079
1126
  [name: string]: unknown;
1080
1127
  };
1081
1128
  content: {
@@ -1085,6 +1132,7 @@ interface operations {
1085
1132
  /** @description Caller lacks `trawl.read`, or the service is not enabled. */
1086
1133
  403: {
1087
1134
  headers: {
1135
+ "X-Request-Id": components["headers"]["RequestId"];
1088
1136
  [name: string]: unknown;
1089
1137
  };
1090
1138
  content: {
@@ -1113,6 +1161,7 @@ interface operations {
1113
1161
  /** @description Page of jobs with pagination cursor. */
1114
1162
  200: {
1115
1163
  headers: {
1164
+ "X-Request-Id": components["headers"]["RequestId"];
1116
1165
  [name: string]: unknown;
1117
1166
  };
1118
1167
  content: {
@@ -1122,6 +1171,7 @@ interface operations {
1122
1171
  /** @description Caller lacks `trawl.list`, or workspace has not enabled the `trawl` service. */
1123
1172
  403: {
1124
1173
  headers: {
1174
+ "X-Request-Id": components["headers"]["RequestId"];
1125
1175
  [name: string]: unknown;
1126
1176
  };
1127
1177
  content: {
@@ -1151,6 +1201,7 @@ interface operations {
1151
1201
  /** @description Job created and queued. */
1152
1202
  201: {
1153
1203
  headers: {
1204
+ "X-Request-Id": components["headers"]["RequestId"];
1154
1205
  [name: string]: unknown;
1155
1206
  };
1156
1207
  content: {
@@ -1160,6 +1211,7 @@ interface operations {
1160
1211
  /** @description Invalid JSON Schema (must be a non-empty `type: object`). */
1161
1212
  400: {
1162
1213
  headers: {
1214
+ "X-Request-Id": components["headers"]["RequestId"];
1163
1215
  [name: string]: unknown;
1164
1216
  };
1165
1217
  content: {
@@ -1169,6 +1221,7 @@ interface operations {
1169
1221
  /** @description Caller lacks `trawl.create`, or workspace has not enabled the `trawl` service. */
1170
1222
  403: {
1171
1223
  headers: {
1224
+ "X-Request-Id": components["headers"]["RequestId"];
1172
1225
  [name: string]: unknown;
1173
1226
  };
1174
1227
  content: {
@@ -1178,6 +1231,7 @@ interface operations {
1178
1231
  /** @description Rate limited. `RATE_LIMITED` — submission window exceeded (default 10/min per workspace); the `Retry-After` header gives the seconds until the window resets. `TOO_MANY_ACTIVE_JOBS` — too many queued/running jobs (default 25); retry once some finish. */
1179
1232
  429: {
1180
1233
  headers: {
1234
+ "X-Request-Id": components["headers"]["RequestId"];
1181
1235
  [name: string]: unknown;
1182
1236
  };
1183
1237
  content: {
@@ -1201,6 +1255,7 @@ interface operations {
1201
1255
  /** @description Job row. */
1202
1256
  200: {
1203
1257
  headers: {
1258
+ "X-Request-Id": components["headers"]["RequestId"];
1204
1259
  [name: string]: unknown;
1205
1260
  };
1206
1261
  content: {
@@ -1210,6 +1265,7 @@ interface operations {
1210
1265
  /** @description Job not found in this workspace. */
1211
1266
  404: {
1212
1267
  headers: {
1268
+ "X-Request-Id": components["headers"]["RequestId"];
1213
1269
  [name: string]: unknown;
1214
1270
  };
1215
1271
  content: {
@@ -1233,6 +1289,7 @@ interface operations {
1233
1289
  /** @description Job cancelled. */
1234
1290
  200: {
1235
1291
  headers: {
1292
+ "X-Request-Id": components["headers"]["RequestId"];
1236
1293
  [name: string]: unknown;
1237
1294
  };
1238
1295
  content: {
@@ -1242,6 +1299,7 @@ interface operations {
1242
1299
  /** @description Job not found in this workspace. */
1243
1300
  404: {
1244
1301
  headers: {
1302
+ "X-Request-Id": components["headers"]["RequestId"];
1245
1303
  [name: string]: unknown;
1246
1304
  };
1247
1305
  content: {
@@ -1251,6 +1309,7 @@ interface operations {
1251
1309
  /** @description Job is already in a terminal state and cannot be cancelled. */
1252
1310
  422: {
1253
1311
  headers: {
1312
+ "X-Request-Id": components["headers"]["RequestId"];
1254
1313
  [name: string]: unknown;
1255
1314
  };
1256
1315
  content: {
@@ -1277,6 +1336,7 @@ interface operations {
1277
1336
  /** @description Trawl stats. */
1278
1337
  200: {
1279
1338
  headers: {
1339
+ "X-Request-Id": components["headers"]["RequestId"];
1280
1340
  [name: string]: unknown;
1281
1341
  };
1282
1342
  content: {
@@ -1286,6 +1346,7 @@ interface operations {
1286
1346
  /** @description `window` is not one of 1d, 7d, 30d. */
1287
1347
  400: {
1288
1348
  headers: {
1349
+ "X-Request-Id": components["headers"]["RequestId"];
1289
1350
  [name: string]: unknown;
1290
1351
  };
1291
1352
  content: {
@@ -1295,6 +1356,7 @@ interface operations {
1295
1356
  /** @description Caller lacks `trawl.read` on the workspace, or Trawl is not enabled on it (`SERVICE_NOT_ENABLED`). */
1296
1357
  403: {
1297
1358
  headers: {
1359
+ "X-Request-Id": components["headers"]["RequestId"];
1298
1360
  [name: string]: unknown;
1299
1361
  };
1300
1362
  content: {
@@ -1304,6 +1366,7 @@ interface operations {
1304
1366
  /** @description Workspace not found: the id is unknown, is not a UUID, or is not visible to the caller. Same answer as the service's other workspace routes. */
1305
1367
  404: {
1306
1368
  headers: {
1369
+ "X-Request-Id": components["headers"]["RequestId"];
1307
1370
  [name: string]: unknown;
1308
1371
  };
1309
1372
  content: {
@@ -1331,6 +1394,7 @@ interface operations {
1331
1394
  /** @description Page of webhooks with a pagination cursor. */
1332
1395
  200: {
1333
1396
  headers: {
1397
+ "X-Request-Id": components["headers"]["RequestId"];
1334
1398
  [name: string]: unknown;
1335
1399
  };
1336
1400
  content: {
@@ -1340,6 +1404,7 @@ interface operations {
1340
1404
  /** @description Invalid cursor or limit. */
1341
1405
  400: {
1342
1406
  headers: {
1407
+ "X-Request-Id": components["headers"]["RequestId"];
1343
1408
  [name: string]: unknown;
1344
1409
  };
1345
1410
  content: {
@@ -1369,6 +1434,7 @@ interface operations {
1369
1434
  /** @description Webhook created. Includes plaintext `signing_secret` exactly once. */
1370
1435
  201: {
1371
1436
  headers: {
1437
+ "X-Request-Id": components["headers"]["RequestId"];
1372
1438
  [name: string]: unknown;
1373
1439
  };
1374
1440
  content: {
@@ -1378,6 +1444,7 @@ interface operations {
1378
1444
  /** @description Invalid URL (must be public HTTPS). */
1379
1445
  400: {
1380
1446
  headers: {
1447
+ "X-Request-Id": components["headers"]["RequestId"];
1381
1448
  [name: string]: unknown;
1382
1449
  };
1383
1450
  content: {
@@ -1387,6 +1454,7 @@ interface operations {
1387
1454
  /** @description The workspace already has 10 webhooks. */
1388
1455
  409: {
1389
1456
  headers: {
1457
+ "X-Request-Id": components["headers"]["RequestId"];
1390
1458
  [name: string]: unknown;
1391
1459
  };
1392
1460
  content: {
@@ -1408,6 +1476,7 @@ interface operations {
1408
1476
  responses: {
1409
1477
  200: {
1410
1478
  headers: {
1479
+ "X-Request-Id": components["headers"]["RequestId"];
1411
1480
  [name: string]: unknown;
1412
1481
  };
1413
1482
  content: {
@@ -1417,6 +1486,7 @@ interface operations {
1417
1486
  /** @description The scope id in the path is malformed. */
1418
1487
  400: {
1419
1488
  headers: {
1489
+ "X-Request-Id": components["headers"]["RequestId"];
1420
1490
  [name: string]: unknown;
1421
1491
  };
1422
1492
  content: {
@@ -1426,6 +1496,7 @@ interface operations {
1426
1496
  /** @description Missing or invalid bearer token. */
1427
1497
  401: {
1428
1498
  headers: {
1499
+ "X-Request-Id": components["headers"]["RequestId"];
1429
1500
  [name: string]: unknown;
1430
1501
  };
1431
1502
  content: {
@@ -1435,6 +1506,7 @@ interface operations {
1435
1506
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1436
1507
  403: {
1437
1508
  headers: {
1509
+ "X-Request-Id": components["headers"]["RequestId"];
1438
1510
  [name: string]: unknown;
1439
1511
  };
1440
1512
  content: {
@@ -1463,6 +1535,7 @@ interface operations {
1463
1535
  responses: {
1464
1536
  201: {
1465
1537
  headers: {
1538
+ "X-Request-Id": components["headers"]["RequestId"];
1466
1539
  [name: string]: unknown;
1467
1540
  };
1468
1541
  content: {
@@ -1472,6 +1545,7 @@ interface operations {
1472
1545
  /** @description Validation failure: URL not https with a public host, or an unknown event type (`WEBHOOK_EVENT_TYPE_UNKNOWN`). */
1473
1546
  400: {
1474
1547
  headers: {
1548
+ "X-Request-Id": components["headers"]["RequestId"];
1475
1549
  [name: string]: unknown;
1476
1550
  };
1477
1551
  content: {
@@ -1481,6 +1555,7 @@ interface operations {
1481
1555
  /** @description Missing or invalid bearer token. */
1482
1556
  401: {
1483
1557
  headers: {
1558
+ "X-Request-Id": components["headers"]["RequestId"];
1484
1559
  [name: string]: unknown;
1485
1560
  };
1486
1561
  content: {
@@ -1490,6 +1565,7 @@ interface operations {
1490
1565
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1491
1566
  403: {
1492
1567
  headers: {
1568
+ "X-Request-Id": components["headers"]["RequestId"];
1493
1569
  [name: string]: unknown;
1494
1570
  };
1495
1571
  content: {
@@ -1499,6 +1575,7 @@ interface operations {
1499
1575
  /** @description Already 10 endpoints (`WEBHOOK_ENDPOINT_LIMIT`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
1500
1576
  409: {
1501
1577
  headers: {
1578
+ "X-Request-Id": components["headers"]["RequestId"];
1502
1579
  [name: string]: unknown;
1503
1580
  };
1504
1581
  content: {
@@ -1508,6 +1585,7 @@ interface operations {
1508
1585
  /** @description The URL points at a private, loopback or internal address. */
1509
1586
  422: {
1510
1587
  headers: {
1588
+ "X-Request-Id": components["headers"]["RequestId"];
1511
1589
  [name: string]: unknown;
1512
1590
  };
1513
1591
  content: {
@@ -1530,6 +1608,7 @@ interface operations {
1530
1608
  responses: {
1531
1609
  200: {
1532
1610
  headers: {
1611
+ "X-Request-Id": components["headers"]["RequestId"];
1533
1612
  [name: string]: unknown;
1534
1613
  };
1535
1614
  content: {
@@ -1539,6 +1618,7 @@ interface operations {
1539
1618
  /** @description `endpoint_id` is not a UUID. */
1540
1619
  400: {
1541
1620
  headers: {
1621
+ "X-Request-Id": components["headers"]["RequestId"];
1542
1622
  [name: string]: unknown;
1543
1623
  };
1544
1624
  content: {
@@ -1548,6 +1628,7 @@ interface operations {
1548
1628
  /** @description Missing or invalid bearer token. */
1549
1629
  401: {
1550
1630
  headers: {
1631
+ "X-Request-Id": components["headers"]["RequestId"];
1551
1632
  [name: string]: unknown;
1552
1633
  };
1553
1634
  content: {
@@ -1557,6 +1638,7 @@ interface operations {
1557
1638
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1558
1639
  403: {
1559
1640
  headers: {
1641
+ "X-Request-Id": components["headers"]["RequestId"];
1560
1642
  [name: string]: unknown;
1561
1643
  };
1562
1644
  content: {
@@ -1566,6 +1648,7 @@ interface operations {
1566
1648
  /** @description No such endpoint here (`WEBHOOK_ENDPOINT_NOT_FOUND`). */
1567
1649
  404: {
1568
1650
  headers: {
1651
+ "X-Request-Id": components["headers"]["RequestId"];
1569
1652
  [name: string]: unknown;
1570
1653
  };
1571
1654
  content: {
@@ -1589,6 +1672,7 @@ interface operations {
1589
1672
  /** @description Deleted. */
1590
1673
  204: {
1591
1674
  headers: {
1675
+ "X-Request-Id": components["headers"]["RequestId"];
1592
1676
  [name: string]: unknown;
1593
1677
  };
1594
1678
  content?: never;
@@ -1596,6 +1680,7 @@ interface operations {
1596
1680
  /** @description `endpoint_id` is not a UUID. */
1597
1681
  400: {
1598
1682
  headers: {
1683
+ "X-Request-Id": components["headers"]["RequestId"];
1599
1684
  [name: string]: unknown;
1600
1685
  };
1601
1686
  content: {
@@ -1605,6 +1690,7 @@ interface operations {
1605
1690
  /** @description Missing or invalid bearer token. */
1606
1691
  401: {
1607
1692
  headers: {
1693
+ "X-Request-Id": components["headers"]["RequestId"];
1608
1694
  [name: string]: unknown;
1609
1695
  };
1610
1696
  content: {
@@ -1614,6 +1700,7 @@ interface operations {
1614
1700
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1615
1701
  403: {
1616
1702
  headers: {
1703
+ "X-Request-Id": components["headers"]["RequestId"];
1617
1704
  [name: string]: unknown;
1618
1705
  };
1619
1706
  content: {
@@ -1623,6 +1710,7 @@ interface operations {
1623
1710
  /** @description No such endpoint here (`WEBHOOK_ENDPOINT_NOT_FOUND`). */
1624
1711
  404: {
1625
1712
  headers: {
1713
+ "X-Request-Id": components["headers"]["RequestId"];
1626
1714
  [name: string]: unknown;
1627
1715
  };
1628
1716
  content: {
@@ -1652,6 +1740,7 @@ interface operations {
1652
1740
  responses: {
1653
1741
  200: {
1654
1742
  headers: {
1743
+ "X-Request-Id": components["headers"]["RequestId"];
1655
1744
  [name: string]: unknown;
1656
1745
  };
1657
1746
  content: {
@@ -1661,6 +1750,7 @@ interface operations {
1661
1750
  /** @description Validation failure, or `endpoint_id` is not a UUID. */
1662
1751
  400: {
1663
1752
  headers: {
1753
+ "X-Request-Id": components["headers"]["RequestId"];
1664
1754
  [name: string]: unknown;
1665
1755
  };
1666
1756
  content: {
@@ -1670,6 +1760,7 @@ interface operations {
1670
1760
  /** @description Missing or invalid bearer token. */
1671
1761
  401: {
1672
1762
  headers: {
1763
+ "X-Request-Id": components["headers"]["RequestId"];
1673
1764
  [name: string]: unknown;
1674
1765
  };
1675
1766
  content: {
@@ -1679,6 +1770,7 @@ interface operations {
1679
1770
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1680
1771
  403: {
1681
1772
  headers: {
1773
+ "X-Request-Id": components["headers"]["RequestId"];
1682
1774
  [name: string]: unknown;
1683
1775
  };
1684
1776
  content: {
@@ -1688,6 +1780,7 @@ interface operations {
1688
1780
  /** @description No such endpoint here (`WEBHOOK_ENDPOINT_NOT_FOUND`). */
1689
1781
  404: {
1690
1782
  headers: {
1783
+ "X-Request-Id": components["headers"]["RequestId"];
1691
1784
  [name: string]: unknown;
1692
1785
  };
1693
1786
  content: {
@@ -1697,6 +1790,7 @@ interface operations {
1697
1790
  /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
1698
1791
  409: {
1699
1792
  headers: {
1793
+ "X-Request-Id": components["headers"]["RequestId"];
1700
1794
  [name: string]: unknown;
1701
1795
  };
1702
1796
  content: {
@@ -1706,6 +1800,7 @@ interface operations {
1706
1800
  /** @description The new URL points at a private, loopback or internal address. */
1707
1801
  422: {
1708
1802
  headers: {
1803
+ "X-Request-Id": components["headers"]["RequestId"];
1709
1804
  [name: string]: unknown;
1710
1805
  };
1711
1806
  content: {
@@ -1735,6 +1830,7 @@ interface operations {
1735
1830
  responses: {
1736
1831
  200: {
1737
1832
  headers: {
1833
+ "X-Request-Id": components["headers"]["RequestId"];
1738
1834
  [name: string]: unknown;
1739
1835
  };
1740
1836
  content: {
@@ -1744,6 +1840,7 @@ interface operations {
1744
1840
  /** @description `grace_hours` out of range, or `endpoint_id` is not a UUID. */
1745
1841
  400: {
1746
1842
  headers: {
1843
+ "X-Request-Id": components["headers"]["RequestId"];
1747
1844
  [name: string]: unknown;
1748
1845
  };
1749
1846
  content: {
@@ -1753,6 +1850,7 @@ interface operations {
1753
1850
  /** @description Missing or invalid bearer token. */
1754
1851
  401: {
1755
1852
  headers: {
1853
+ "X-Request-Id": components["headers"]["RequestId"];
1756
1854
  [name: string]: unknown;
1757
1855
  };
1758
1856
  content: {
@@ -1762,6 +1860,7 @@ interface operations {
1762
1860
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1763
1861
  403: {
1764
1862
  headers: {
1863
+ "X-Request-Id": components["headers"]["RequestId"];
1765
1864
  [name: string]: unknown;
1766
1865
  };
1767
1866
  content: {
@@ -1771,6 +1870,7 @@ interface operations {
1771
1870
  /** @description No such endpoint here (`WEBHOOK_ENDPOINT_NOT_FOUND`). */
1772
1871
  404: {
1773
1872
  headers: {
1873
+ "X-Request-Id": components["headers"]["RequestId"];
1774
1874
  [name: string]: unknown;
1775
1875
  };
1776
1876
  content: {
@@ -1780,6 +1880,7 @@ interface operations {
1780
1880
  /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
1781
1881
  409: {
1782
1882
  headers: {
1883
+ "X-Request-Id": components["headers"]["RequestId"];
1783
1884
  [name: string]: unknown;
1784
1885
  };
1785
1886
  content: {
@@ -1810,6 +1911,7 @@ interface operations {
1810
1911
  /** @description The attempt, successful or not. */
1811
1912
  200: {
1812
1913
  headers: {
1914
+ "X-Request-Id": components["headers"]["RequestId"];
1813
1915
  [name: string]: unknown;
1814
1916
  };
1815
1917
  content: {
@@ -1819,6 +1921,7 @@ interface operations {
1819
1921
  /** @description Unknown `event_type`, or `endpoint_id` is not a UUID. */
1820
1922
  400: {
1821
1923
  headers: {
1924
+ "X-Request-Id": components["headers"]["RequestId"];
1822
1925
  [name: string]: unknown;
1823
1926
  };
1824
1927
  content: {
@@ -1828,6 +1931,7 @@ interface operations {
1828
1931
  /** @description Missing or invalid bearer token. */
1829
1932
  401: {
1830
1933
  headers: {
1934
+ "X-Request-Id": components["headers"]["RequestId"];
1831
1935
  [name: string]: unknown;
1832
1936
  };
1833
1937
  content: {
@@ -1837,6 +1941,7 @@ interface operations {
1837
1941
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1838
1942
  403: {
1839
1943
  headers: {
1944
+ "X-Request-Id": components["headers"]["RequestId"];
1840
1945
  [name: string]: unknown;
1841
1946
  };
1842
1947
  content: {
@@ -1846,6 +1951,7 @@ interface operations {
1846
1951
  /** @description No such endpoint here (`WEBHOOK_ENDPOINT_NOT_FOUND`). */
1847
1952
  404: {
1848
1953
  headers: {
1954
+ "X-Request-Id": components["headers"]["RequestId"];
1849
1955
  [name: string]: unknown;
1850
1956
  };
1851
1957
  content: {
@@ -1855,6 +1961,7 @@ interface operations {
1855
1961
  /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
1856
1962
  409: {
1857
1963
  headers: {
1964
+ "X-Request-Id": components["headers"]["RequestId"];
1858
1965
  [name: string]: unknown;
1859
1966
  };
1860
1967
  content: {
@@ -1876,6 +1983,7 @@ interface operations {
1876
1983
  responses: {
1877
1984
  200: {
1878
1985
  headers: {
1986
+ "X-Request-Id": components["headers"]["RequestId"];
1879
1987
  [name: string]: unknown;
1880
1988
  };
1881
1989
  content: {
@@ -1885,6 +1993,7 @@ interface operations {
1885
1993
  /** @description Missing or invalid bearer token. */
1886
1994
  401: {
1887
1995
  headers: {
1996
+ "X-Request-Id": components["headers"]["RequestId"];
1888
1997
  [name: string]: unknown;
1889
1998
  };
1890
1999
  content: {
@@ -1894,6 +2003,7 @@ interface operations {
1894
2003
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1895
2004
  403: {
1896
2005
  headers: {
2006
+ "X-Request-Id": components["headers"]["RequestId"];
1897
2007
  [name: string]: unknown;
1898
2008
  };
1899
2009
  content: {
@@ -1928,6 +2038,7 @@ interface operations {
1928
2038
  responses: {
1929
2039
  200: {
1930
2040
  headers: {
2041
+ "X-Request-Id": components["headers"]["RequestId"];
1931
2042
  [name: string]: unknown;
1932
2043
  };
1933
2044
  content: {
@@ -1937,6 +2048,7 @@ interface operations {
1937
2048
  /** @description Invalid filter value or cursor. */
1938
2049
  400: {
1939
2050
  headers: {
2051
+ "X-Request-Id": components["headers"]["RequestId"];
1940
2052
  [name: string]: unknown;
1941
2053
  };
1942
2054
  content: {
@@ -1946,6 +2058,7 @@ interface operations {
1946
2058
  /** @description Missing or invalid bearer token. */
1947
2059
  401: {
1948
2060
  headers: {
2061
+ "X-Request-Id": components["headers"]["RequestId"];
1949
2062
  [name: string]: unknown;
1950
2063
  };
1951
2064
  content: {
@@ -1955,6 +2068,7 @@ interface operations {
1955
2068
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
1956
2069
  403: {
1957
2070
  headers: {
2071
+ "X-Request-Id": components["headers"]["RequestId"];
1958
2072
  [name: string]: unknown;
1959
2073
  };
1960
2074
  content: {
@@ -1978,6 +2092,7 @@ interface operations {
1978
2092
  responses: {
1979
2093
  200: {
1980
2094
  headers: {
2095
+ "X-Request-Id": components["headers"]["RequestId"];
1981
2096
  [name: string]: unknown;
1982
2097
  };
1983
2098
  content: {
@@ -1987,6 +2102,7 @@ interface operations {
1987
2102
  /** @description `event_id` is not `evt_<uuid>`. */
1988
2103
  400: {
1989
2104
  headers: {
2105
+ "X-Request-Id": components["headers"]["RequestId"];
1990
2106
  [name: string]: unknown;
1991
2107
  };
1992
2108
  content: {
@@ -1996,6 +2112,7 @@ interface operations {
1996
2112
  /** @description Missing or invalid bearer token. */
1997
2113
  401: {
1998
2114
  headers: {
2115
+ "X-Request-Id": components["headers"]["RequestId"];
1999
2116
  [name: string]: unknown;
2000
2117
  };
2001
2118
  content: {
@@ -2005,6 +2122,7 @@ interface operations {
2005
2122
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
2006
2123
  403: {
2007
2124
  headers: {
2125
+ "X-Request-Id": components["headers"]["RequestId"];
2008
2126
  [name: string]: unknown;
2009
2127
  };
2010
2128
  content: {
@@ -2014,6 +2132,7 @@ interface operations {
2014
2132
  /** @description No such event here (`WEBHOOK_EVENT_NOT_FOUND`); events are kept for 30 days. */
2015
2133
  404: {
2016
2134
  headers: {
2135
+ "X-Request-Id": components["headers"]["RequestId"];
2017
2136
  [name: string]: unknown;
2018
2137
  };
2019
2138
  content: {
@@ -2043,6 +2162,7 @@ interface operations {
2043
2162
  responses: {
2044
2163
  200: {
2045
2164
  headers: {
2165
+ "X-Request-Id": components["headers"]["RequestId"];
2046
2166
  [name: string]: unknown;
2047
2167
  };
2048
2168
  content: {
@@ -2052,6 +2172,7 @@ interface operations {
2052
2172
  /** @description `event_id` is not `evt_<uuid>`, or `endpoint_id` is not a UUID. */
2053
2173
  400: {
2054
2174
  headers: {
2175
+ "X-Request-Id": components["headers"]["RequestId"];
2055
2176
  [name: string]: unknown;
2056
2177
  };
2057
2178
  content: {
@@ -2061,6 +2182,7 @@ interface operations {
2061
2182
  /** @description Missing or invalid bearer token. */
2062
2183
  401: {
2063
2184
  headers: {
2185
+ "X-Request-Id": components["headers"]["RequestId"];
2064
2186
  [name: string]: unknown;
2065
2187
  };
2066
2188
  content: {
@@ -2070,6 +2192,7 @@ interface operations {
2070
2192
  /** @description Caller lacks `trawl.webhook.read` (reads) or `trawl.webhook.manage` (changes, Send test, replay), or Trawl is not enabled for the workspace (`SERVICE_NOT_ENABLED`). */
2071
2193
  403: {
2072
2194
  headers: {
2195
+ "X-Request-Id": components["headers"]["RequestId"];
2073
2196
  [name: string]: unknown;
2074
2197
  };
2075
2198
  content: {
@@ -2079,6 +2202,7 @@ interface operations {
2079
2202
  /** @description No such event here (`WEBHOOK_EVENT_NOT_FOUND`); events are kept for 30 days. Or No such endpoint here (`WEBHOOK_ENDPOINT_NOT_FOUND`). */
2080
2203
  404: {
2081
2204
  headers: {
2205
+ "X-Request-Id": components["headers"]["RequestId"];
2082
2206
  [name: string]: unknown;
2083
2207
  };
2084
2208
  content: {
@@ -2088,6 +2212,7 @@ interface operations {
2088
2212
  /** @description `endpoint_id` is switched off or does not receive this event type (`WEBHOOK_ENDPOINT_NOT_SUBSCRIBED`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2089
2213
  409: {
2090
2214
  headers: {
2215
+ "X-Request-Id": components["headers"]["RequestId"];
2091
2216
  [name: string]: unknown;
2092
2217
  };
2093
2218
  content: {
@@ -2111,6 +2236,7 @@ interface operations {
2111
2236
  /** @description Webhook. */
2112
2237
  200: {
2113
2238
  headers: {
2239
+ "X-Request-Id": components["headers"]["RequestId"];
2114
2240
  [name: string]: unknown;
2115
2241
  };
2116
2242
  content: {
@@ -2120,6 +2246,7 @@ interface operations {
2120
2246
  /** @description `id` is not a UUID. */
2121
2247
  400: {
2122
2248
  headers: {
2249
+ "X-Request-Id": components["headers"]["RequestId"];
2123
2250
  [name: string]: unknown;
2124
2251
  };
2125
2252
  content: {
@@ -2129,6 +2256,7 @@ interface operations {
2129
2256
  /** @description Webhook not found. */
2130
2257
  404: {
2131
2258
  headers: {
2259
+ "X-Request-Id": components["headers"]["RequestId"];
2132
2260
  [name: string]: unknown;
2133
2261
  };
2134
2262
  content: {
@@ -2152,6 +2280,7 @@ interface operations {
2152
2280
  /** @description Deleted. */
2153
2281
  204: {
2154
2282
  headers: {
2283
+ "X-Request-Id": components["headers"]["RequestId"];
2155
2284
  [name: string]: unknown;
2156
2285
  };
2157
2286
  content?: never;
@@ -2159,6 +2288,7 @@ interface operations {
2159
2288
  /** @description Webhook not found. */
2160
2289
  404: {
2161
2290
  headers: {
2291
+ "X-Request-Id": components["headers"]["RequestId"];
2162
2292
  [name: string]: unknown;
2163
2293
  };
2164
2294
  content: {
@@ -2186,6 +2316,7 @@ interface operations {
2186
2316
  /** @description Updated webhook (secret masked). */
2187
2317
  200: {
2188
2318
  headers: {
2319
+ "X-Request-Id": components["headers"]["RequestId"];
2189
2320
  [name: string]: unknown;
2190
2321
  };
2191
2322
  content: {
@@ -2195,6 +2326,7 @@ interface operations {
2195
2326
  /** @description Invalid URL. */
2196
2327
  400: {
2197
2328
  headers: {
2329
+ "X-Request-Id": components["headers"]["RequestId"];
2198
2330
  [name: string]: unknown;
2199
2331
  };
2200
2332
  content: {
@@ -2204,6 +2336,7 @@ interface operations {
2204
2336
  /** @description Webhook not found. */
2205
2337
  404: {
2206
2338
  headers: {
2339
+ "X-Request-Id": components["headers"]["RequestId"];
2207
2340
  [name: string]: unknown;
2208
2341
  };
2209
2342
  content: {
@@ -2234,6 +2367,7 @@ interface operations {
2234
2367
  /** @description Page of delivery attempts with a pagination cursor. */
2235
2368
  200: {
2236
2369
  headers: {
2370
+ "X-Request-Id": components["headers"]["RequestId"];
2237
2371
  [name: string]: unknown;
2238
2372
  };
2239
2373
  content: {
@@ -2243,6 +2377,7 @@ interface operations {
2243
2377
  /** @description Invalid cursor, limit or `status` filter. */
2244
2378
  400: {
2245
2379
  headers: {
2380
+ "X-Request-Id": components["headers"]["RequestId"];
2246
2381
  [name: string]: unknown;
2247
2382
  };
2248
2383
  content: {
@@ -2252,6 +2387,7 @@ interface operations {
2252
2387
  /** @description Webhook not found in this workspace. */
2253
2388
  404: {
2254
2389
  headers: {
2390
+ "X-Request-Id": components["headers"]["RequestId"];
2255
2391
  [name: string]: unknown;
2256
2392
  };
2257
2393
  content: {
@@ -2275,6 +2411,7 @@ interface operations {
2275
2411
  /** @description Secret rotated. Includes the new plaintext secret exactly once. */
2276
2412
  201: {
2277
2413
  headers: {
2414
+ "X-Request-Id": components["headers"]["RequestId"];
2278
2415
  [name: string]: unknown;
2279
2416
  };
2280
2417
  content: {
@@ -2284,6 +2421,7 @@ interface operations {
2284
2421
  /** @description Webhook not found. */
2285
2422
  404: {
2286
2423
  headers: {
2424
+ "X-Request-Id": components["headers"]["RequestId"];
2287
2425
  [name: string]: unknown;
2288
2426
  };
2289
2427
  content: {
@@ -2307,6 +2445,7 @@ interface operations {
2307
2445
  /** @description Sent. Read the outcome from `/deliveries`. */
2308
2446
  202: {
2309
2447
  headers: {
2448
+ "X-Request-Id": components["headers"]["RequestId"];
2310
2449
  [name: string]: unknown;
2311
2450
  };
2312
2451
  content: {
@@ -2316,6 +2455,7 @@ interface operations {
2316
2455
  /** @description Webhook not found. */
2317
2456
  404: {
2318
2457
  headers: {
2458
+ "X-Request-Id": components["headers"]["RequestId"];
2319
2459
  [name: string]: unknown;
2320
2460
  };
2321
2461
  content: {
@@ -2325,6 +2465,7 @@ interface operations {
2325
2465
  /** @description The webhook is switched off. */
2326
2466
  422: {
2327
2467
  headers: {
2468
+ "X-Request-Id": components["headers"]["RequestId"];
2328
2469
  [name: string]: unknown;
2329
2470
  };
2330
2471
  content: {