@pidgeon-ai/sdk 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -416,6 +416,10 @@ type Identity = {
416
416
  type Message = {
417
417
  id: string;
418
418
  thread_id: string;
419
+ /**
420
+ * The mailbox this message is in, as an id. What `POST /attachments` and the other endpoints that take a mailbox expect — `identity` below is the same address as text.
421
+ */
422
+ identity_id: string | null;
419
423
  identity: string | null;
420
424
  direction: string;
421
425
  /**
@@ -468,7 +472,7 @@ type Message = {
468
472
  downloadable: boolean;
469
473
  }>;
470
474
  /**
471
- * The calendar part this message carried, or null. See `prd/calendar.md`.
475
+ * The calendar part this message carried, or null — the invitation, who was asked, and what they answered.
472
476
  */
473
477
  invitation: {
474
478
  method: string | null;
@@ -847,6 +851,7 @@ type Domain = {
847
851
  domain: string;
848
852
  status: string;
849
853
  catch_all_enabled: boolean;
854
+ inbound_enabled: boolean;
850
855
  identity_count: number;
851
856
  verified_at: string | null;
852
857
  /**
@@ -859,6 +864,7 @@ type DomainDetail = {
859
864
  domain: string;
860
865
  status: string;
861
866
  catch_all_enabled: boolean;
867
+ inbound_enabled: boolean;
862
868
  identity_count: number;
863
869
  verified_at: string | null;
864
870
  /**
@@ -977,6 +983,53 @@ type Workspace = {
977
983
  plan: string;
978
984
  status: string;
979
985
  };
986
+ type Me = {
987
+ /**
988
+ * What is calling. Only API keys reach this API.
989
+ */
990
+ kind: 'key';
991
+ /**
992
+ * Null only if the key was deleted between authenticating and this read.
993
+ */
994
+ key: {
995
+ id: string;
996
+ /**
997
+ * What somebody called it, for telling two keys apart.
998
+ */
999
+ name: string;
1000
+ /**
1001
+ * The visible start of the token, e.g. `pgn_live_a1b2`.
1002
+ */
1003
+ prefix: string;
1004
+ /**
1005
+ * The highest rung this key reaches on any address. Composed with the grant on the address itself — the lower of the two wins — so this is a ceiling, not a promise.
1006
+ */
1007
+ access: 'read' | 'send' | 'admin';
1008
+ /**
1009
+ * True when it reaches every address the workspace owns, including ones created after it. False when it reaches a fixed list.
1010
+ */
1011
+ reaches_all_addresses: boolean;
1012
+ /**
1013
+ * When it stops authenticating, or null.
1014
+ */
1015
+ expires_at: string | null;
1016
+ /**
1017
+ * ISO-8601, UTC.
1018
+ */
1019
+ created_at: string;
1020
+ } | null;
1021
+ workspace: {
1022
+ id: string;
1023
+ /**
1024
+ * Which entitlements apply. See /docs/limits.
1025
+ */
1026
+ plan: string;
1027
+ };
1028
+ /**
1029
+ * How many addresses this key can read. `GET /identities` lists them; this is the count, which is what tells a key that reaches nothing apart from one that is misconfigured.
1030
+ */
1031
+ reaches: number;
1032
+ };
980
1033
  type Deleted = {
981
1034
  id: string;
982
1035
  deleted: true;
@@ -1022,13 +1075,29 @@ type Undo = {
1022
1075
  };
1023
1076
  type MessageListItem = {
1024
1077
  id: string;
1078
+ identity_id: string | null;
1025
1079
  thread_id: string;
1026
1080
  direction: string;
1027
1081
  /**
1028
- * Who the row is about: the sender in inbox, the recipient in sent.
1082
+ * The address that sent it.
1029
1083
  */
1030
1084
  from: string;
1031
- from_name: string;
1085
+ /**
1086
+ * The sender’s display name, when it had one.
1087
+ */
1088
+ from_name: string | null;
1089
+ /**
1090
+ * Every address it was sent to.
1091
+ */
1092
+ to: Array<string>;
1093
+ /**
1094
+ * Who the row is about: the sender on a received message, the recipient on a sent one. What a mail client prints in the list.
1095
+ */
1096
+ counterparty: string;
1097
+ /**
1098
+ * The same party, as a name to show.
1099
+ */
1100
+ counterparty_name: string;
1032
1101
  subject: string | null;
1033
1102
  preview: string | null;
1034
1103
  is_read: boolean;
@@ -1045,6 +1114,9 @@ type MessageListItem = {
1045
1114
  timestamp: string;
1046
1115
  };
1047
1116
  type Member = {
1117
+ /**
1118
+ * The person’s user id. This is what `user_id` takes when granting access to an address. On a workspace nobody was invited to it equals the workspace’s own id, because a personal workspace is created with its founder’s id — the two matching is expected and the value is still the user id.
1119
+ */
1048
1120
  id: string;
1049
1121
  email: string;
1050
1122
  name: string | null;
@@ -1139,11 +1211,59 @@ type Revoked = {
1139
1211
  grant_id: string;
1140
1212
  revoked: boolean;
1141
1213
  };
1214
+ type SearchHit = {
1215
+ id: string;
1216
+ identity_id: string | null;
1217
+ thread_id: string;
1218
+ direction: string;
1219
+ /**
1220
+ * The address that sent it.
1221
+ */
1222
+ from: string;
1223
+ /**
1224
+ * The sender’s display name, when it had one.
1225
+ */
1226
+ from_name: string | null;
1227
+ /**
1228
+ * Every address it was sent to.
1229
+ */
1230
+ to: Array<string>;
1231
+ /**
1232
+ * Who the row is about: the sender on a received message, the recipient on a sent one. What a mail client prints in the list.
1233
+ */
1234
+ counterparty: string;
1235
+ /**
1236
+ * The same party, as a name to show.
1237
+ */
1238
+ counterparty_name: string;
1239
+ subject: string | null;
1240
+ preview: string | null;
1241
+ is_read: boolean;
1242
+ is_starred: boolean;
1243
+ is_draft: boolean;
1244
+ is_spam: boolean;
1245
+ has_attachments: boolean;
1246
+ attachment_count: number;
1247
+ message_count: number;
1248
+ assignee_id: string | null;
1249
+ /**
1250
+ * ISO-8601, UTC.
1251
+ */
1252
+ timestamp: string;
1253
+ /**
1254
+ * The folder the hit was found in.
1255
+ */
1256
+ folder: 'inbox' | 'starred' | 'sent' | 'drafts' | 'scheduled' | 'snoozed' | 'archive' | 'spam' | 'trash' | 'unauthenticated';
1257
+ /**
1258
+ * The mailbox it was found in, as the address. `identity_id` is the same row.
1259
+ */
1260
+ identity: string | null;
1261
+ };
1142
1262
  type Label = {
1143
1263
  id: string;
1144
1264
  identity_id: string;
1145
1265
  name: string;
1146
- colour: string;
1266
+ colour: 'slate' | 'red' | 'amber' | 'green' | 'teal' | 'blue' | 'violet' | 'pink';
1147
1267
  /**
1148
1268
  * ISO-8601, UTC.
1149
1269
  */
@@ -1176,7 +1296,13 @@ type Error = {
1176
1296
  };
1177
1297
  type AgentSignUpData = {
1178
1298
  body: {
1299
+ /**
1300
+ * The local part you want on the shared domain.
1301
+ */
1179
1302
  username: string;
1303
+ /**
1304
+ * A person who can be reached. They receive the code that finishes the signup.
1305
+ */
1180
1306
  human_email: string;
1181
1307
  source?: string | null;
1182
1308
  };
@@ -1190,7 +1316,7 @@ type AgentSignUpErrors = {
1190
1316
  */
1191
1317
  401: Error;
1192
1318
  /**
1193
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1319
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1194
1320
  */
1195
1321
  404: Error;
1196
1322
  /**
@@ -1210,7 +1336,13 @@ type AgentSignUpResponses = {
1210
1336
  type AgentSignUpResponse = AgentSignUpResponses[keyof AgentSignUpResponses];
1211
1337
  type AgentAttachHumanData = {
1212
1338
  body: {
1339
+ /**
1340
+ * From the signup this is finishing.
1341
+ */
1213
1342
  signup_id: string;
1343
+ /**
1344
+ * A person who can be reached. They receive the code that finishes the signup.
1345
+ */
1214
1346
  human_email: string;
1215
1347
  };
1216
1348
  path?: never;
@@ -1223,7 +1355,7 @@ type AgentAttachHumanErrors = {
1223
1355
  */
1224
1356
  401: Error;
1225
1357
  /**
1226
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1358
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1227
1359
  */
1228
1360
  404: Error;
1229
1361
  /**
@@ -1243,6 +1375,9 @@ type AgentAttachHumanResponses = {
1243
1375
  type AgentAttachHumanResponse = AgentAttachHumanResponses[keyof AgentAttachHumanResponses];
1244
1376
  type AgentVerifyData = {
1245
1377
  body: {
1378
+ /**
1379
+ * From the signup this is finishing.
1380
+ */
1246
1381
  signup_id: string;
1247
1382
  code: string;
1248
1383
  };
@@ -1256,7 +1391,7 @@ type AgentVerifyErrors = {
1256
1391
  */
1257
1392
  401: Error;
1258
1393
  /**
1259
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1394
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1260
1395
  */
1261
1396
  404: Error;
1262
1397
  /**
@@ -1293,7 +1428,7 @@ type IdentitiesListErrors = {
1293
1428
  */
1294
1429
  401: Error;
1295
1430
  /**
1296
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1431
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1297
1432
  */
1298
1433
  404: Error;
1299
1434
  /**
@@ -1318,15 +1453,49 @@ type IdentitiesListResponses = {
1318
1453
  type IdentitiesListResponse = IdentitiesListResponses[keyof IdentitiesListResponses];
1319
1454
  type IdentitiesCreateData = {
1320
1455
  body: {
1456
+ /**
1457
+ * From `GET /domains`, or the `domain_id` on any address you already have.
1458
+ */
1321
1459
  domain_id?: string;
1460
+ /**
1461
+ * A domain name you own, or the shared one. An alternative to `domain_id`.
1462
+ */
1322
1463
  domain?: string;
1464
+ /**
1465
+ * A whole address — the local part and the domain in one. An alternative to the other two.
1466
+ */
1323
1467
  address?: string;
1468
+ /**
1469
+ * Everything before the `@`.
1470
+ */
1324
1471
  local_part?: string;
1472
+ /**
1473
+ * The name a recipient sees beside the address.
1474
+ */
1325
1475
  display_name?: string | null;
1476
+ /**
1477
+ * Whether it keeps mail. With an inbox what arrives is stored and a person can open it; without one it becomes an event and your webhook fires. Defaults from `type`.
1478
+ */
1479
+ inbox?: boolean;
1480
+ /**
1481
+ * A label for what this address is for. It does not change what the address can do — that is `inbox`.
1482
+ */
1326
1483
  type?: 'human' | 'team' | 'application' | 'workflow' | 'agent';
1484
+ /**
1485
+ * Who answers: a person, software, or both.
1486
+ */
1327
1487
  mode?: 'human' | 'automated' | 'hybrid';
1488
+ /**
1489
+ * When it stops accepting mail. Expiry suspends; it never deletes, so the correspondence survives.
1490
+ */
1328
1491
  expires_at?: string | null;
1492
+ /**
1493
+ * Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger.
1494
+ */
1329
1495
  send_policy?: 'open' | 'reply_only' | 'list';
1496
+ /**
1497
+ * Your own opaque grouping — a customer id, whatever your side calls it. Never parsed here.
1498
+ */
1330
1499
  tenant_id?: string | null;
1331
1500
  };
1332
1501
  path?: never;
@@ -1339,7 +1508,7 @@ type IdentitiesCreateErrors = {
1339
1508
  */
1340
1509
  401: Error;
1341
1510
  /**
1342
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1511
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1343
1512
  */
1344
1513
  404: Error;
1345
1514
  /**
@@ -1371,7 +1540,7 @@ type IdentitiesDeleteErrors = {
1371
1540
  */
1372
1541
  401: Error;
1373
1542
  /**
1374
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1543
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1375
1544
  */
1376
1545
  404: Error;
1377
1546
  /**
@@ -1403,7 +1572,7 @@ type IdentitiesGetErrors = {
1403
1572
  */
1404
1573
  401: Error;
1405
1574
  /**
1406
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1575
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1407
1576
  */
1408
1577
  404: Error;
1409
1578
  /**
@@ -1423,14 +1592,29 @@ type IdentitiesGetResponses = {
1423
1592
  type IdentitiesGetResponse = IdentitiesGetResponses[keyof IdentitiesGetResponses];
1424
1593
  type IdentitiesUpdateData = {
1425
1594
  body: {
1595
+ /**
1596
+ * The name a recipient sees beside the address.
1597
+ */
1426
1598
  display_name?: string | null;
1599
+ /**
1600
+ * Who answers: a person, software, or both.
1601
+ */
1427
1602
  mode?: 'human' | 'automated' | 'hybrid';
1428
1603
  capabilities?: {
1429
1604
  [key: string]: boolean;
1430
1605
  };
1431
1606
  status?: 'active' | 'suspended' | 'archived';
1607
+ /**
1608
+ * When it stops accepting mail. Expiry suspends; it never deletes, so the correspondence survives.
1609
+ */
1432
1610
  expires_at?: string | null;
1611
+ /**
1612
+ * Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger.
1613
+ */
1433
1614
  send_policy?: 'open' | 'reply_only' | 'list';
1615
+ /**
1616
+ * Your own opaque grouping — a customer id, whatever your side calls it. Never parsed here.
1617
+ */
1434
1618
  tenant_id?: string | null;
1435
1619
  };
1436
1620
  path: {
@@ -1445,7 +1629,7 @@ type IdentitiesUpdateErrors = {
1445
1629
  */
1446
1630
  401: Error;
1447
1631
  /**
1448
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1632
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1449
1633
  */
1450
1634
  404: Error;
1451
1635
  /**
@@ -1479,7 +1663,7 @@ type IdentitiesAccessDeleteErrors = {
1479
1663
  */
1480
1664
  401: Error;
1481
1665
  /**
1482
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1666
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1483
1667
  */
1484
1668
  404: Error;
1485
1669
  /**
@@ -1511,7 +1695,7 @@ type IdentitiesAccessGetErrors = {
1511
1695
  */
1512
1696
  401: Error;
1513
1697
  /**
1514
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1698
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1515
1699
  */
1516
1700
  404: Error;
1517
1701
  /**
@@ -1534,6 +1718,9 @@ type IdentitiesAccessCreateData = {
1534
1718
  user_id?: string;
1535
1719
  api_key_id?: string;
1536
1720
  everyone?: true;
1721
+ /**
1722
+ * What a key may do. Give an agent the narrowest one that works.
1723
+ */
1537
1724
  access: 'read' | 'send' | 'admin';
1538
1725
  };
1539
1726
  path: {
@@ -1548,7 +1735,7 @@ type IdentitiesAccessCreateErrors = {
1548
1735
  */
1549
1736
  401: Error;
1550
1737
  /**
1551
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1738
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1552
1739
  */
1553
1740
  404: Error;
1554
1741
  /**
@@ -1582,7 +1769,7 @@ type IdentitiesSendRulesDeleteErrors = {
1582
1769
  */
1583
1770
  401: Error;
1584
1771
  /**
1585
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1772
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1586
1773
  */
1587
1774
  404: Error;
1588
1775
  /**
@@ -1614,7 +1801,7 @@ type IdentitiesSendRulesGetErrors = {
1614
1801
  */
1615
1802
  401: Error;
1616
1803
  /**
1617
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1804
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1618
1805
  */
1619
1806
  404: Error;
1620
1807
  /**
@@ -1649,7 +1836,7 @@ type IdentitiesSendRulesCreateErrors = {
1649
1836
  */
1650
1837
  401: Error;
1651
1838
  /**
1652
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1839
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1653
1840
  */
1654
1841
  404: Error;
1655
1842
  /**
@@ -1683,7 +1870,7 @@ type IdentitiesReceiveRulesDeleteErrors = {
1683
1870
  */
1684
1871
  401: Error;
1685
1872
  /**
1686
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1873
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1687
1874
  */
1688
1875
  404: Error;
1689
1876
  /**
@@ -1715,7 +1902,7 @@ type IdentitiesReceiveRulesGetErrors = {
1715
1902
  */
1716
1903
  401: Error;
1717
1904
  /**
1718
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1905
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1719
1906
  */
1720
1907
  404: Error;
1721
1908
  /**
@@ -1750,7 +1937,7 @@ type IdentitiesReceiveRulesCreateErrors = {
1750
1937
  */
1751
1938
  401: Error;
1752
1939
  /**
1753
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1940
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1754
1941
  */
1755
1942
  404: Error;
1756
1943
  /**
@@ -1785,7 +1972,7 @@ type IdentitiesSuspendTenantErrors = {
1785
1972
  */
1786
1973
  401: Error;
1787
1974
  /**
1788
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
1975
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1789
1976
  */
1790
1977
  404: Error;
1791
1978
  /**
@@ -1817,7 +2004,7 @@ type LabelsListErrors = {
1817
2004
  */
1818
2005
  401: Error;
1819
2006
  /**
1820
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2007
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1821
2008
  */
1822
2009
  404: Error;
1823
2010
  /**
@@ -1842,9 +2029,12 @@ type LabelsListResponses = {
1842
2029
  type LabelsListResponse = LabelsListResponses[keyof LabelsListResponses];
1843
2030
  type LabelsCreateData = {
1844
2031
  body: {
2032
+ /**
2033
+ * The address this belongs to.
2034
+ */
1845
2035
  identity_id: string;
1846
2036
  name: string;
1847
- colour?: string;
2037
+ colour?: 'slate' | 'red' | 'amber' | 'green' | 'teal' | 'blue' | 'violet' | 'pink';
1848
2038
  };
1849
2039
  path?: never;
1850
2040
  query?: never;
@@ -1856,7 +2046,7 @@ type LabelsCreateErrors = {
1856
2046
  */
1857
2047
  401: Error;
1858
2048
  /**
1859
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2049
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1860
2050
  */
1861
2051
  404: Error;
1862
2052
  /**
@@ -1888,7 +2078,7 @@ type LabelsDeleteErrors = {
1888
2078
  */
1889
2079
  401: Error;
1890
2080
  /**
1891
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2081
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1892
2082
  */
1893
2083
  404: Error;
1894
2084
  /**
@@ -1909,7 +2099,7 @@ type LabelsDeleteResponse = LabelsDeleteResponses[keyof LabelsDeleteResponses];
1909
2099
  type LabelsUpdateData = {
1910
2100
  body: {
1911
2101
  name?: string;
1912
- colour?: string;
2102
+ colour?: 'slate' | 'red' | 'amber' | 'green' | 'teal' | 'blue' | 'violet' | 'pink';
1913
2103
  };
1914
2104
  path: {
1915
2105
  id: string;
@@ -1923,7 +2113,7 @@ type LabelsUpdateErrors = {
1923
2113
  */
1924
2114
  401: Error;
1925
2115
  /**
1926
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2116
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1927
2117
  */
1928
2118
  404: Error;
1929
2119
  /**
@@ -1957,7 +2147,7 @@ type ThreadsLabelsDeleteErrors = {
1957
2147
  */
1958
2148
  401: Error;
1959
2149
  /**
1960
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2150
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1961
2151
  */
1962
2152
  404: Error;
1963
2153
  /**
@@ -1989,7 +2179,7 @@ type ThreadsLabelsGetErrors = {
1989
2179
  */
1990
2180
  401: Error;
1991
2181
  /**
1992
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2182
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
1993
2183
  */
1994
2184
  404: Error;
1995
2185
  /**
@@ -2028,7 +2218,7 @@ type ThreadsLabelsCreateErrors = {
2028
2218
  */
2029
2219
  401: Error;
2030
2220
  /**
2031
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2221
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2032
2222
  */
2033
2223
  404: Error;
2034
2224
  /**
@@ -2070,7 +2260,7 @@ type MessagesListInThreadErrors = {
2070
2260
  */
2071
2261
  401: Error;
2072
2262
  /**
2073
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2263
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2074
2264
  */
2075
2265
  404: Error;
2076
2266
  /**
@@ -2095,15 +2285,46 @@ type MessagesListInThreadResponses = {
2095
2285
  type MessagesListInThreadResponse = MessagesListInThreadResponses[keyof MessagesListInThreadResponses];
2096
2286
  type MessagesSendData = {
2097
2287
  body: {
2288
+ /**
2289
+ * An address on a domain you own, and one this key may send from.
2290
+ */
2098
2291
  from: string;
2292
+ /**
2293
+ * One address or several. A string is accepted for the single case.
2294
+ */
2099
2295
  to: string | Array<string>;
2296
+ /**
2297
+ * Copied, and visible to everybody who receives the message.
2298
+ */
2100
2299
  cc?: string | Array<string>;
2300
+ /**
2301
+ * Copied, and visible to nobody else.
2302
+ */
2101
2303
  bcc?: string | Array<string>;
2304
+ /**
2305
+ * Left off a reply, where the thread already has one.
2306
+ */
2102
2307
  subject?: string;
2308
+ /**
2309
+ * The plain-text body. Send this even when you send `html` — some clients only read it.
2310
+ */
2103
2311
  text?: string;
2312
+ /**
2313
+ * The rich body. Sanitised on the way in; scripts and remote content are removed.
2314
+ */
2104
2315
  html?: string;
2316
+ /**
2317
+ * Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20.
2318
+ */
2105
2319
  attachment_ids?: Array<string>;
2320
+ /**
2321
+ * The message being answered. Keeps the conversation together in the recipient’s client too.
2322
+ */
2106
2323
  in_reply_to?: string | null;
2324
+ /**
2325
+ * The same field as `in_reply_to`, under the name this endpoint has always used. Both names work on both endpoints; reach for `in_reply_to`.
2326
+ */
2327
+ in_reply_to_message_id?: string | null;
2107
2328
  };
2108
2329
  path?: never;
2109
2330
  query?: never;
@@ -2115,7 +2336,7 @@ type MessagesSendErrors = {
2115
2336
  */
2116
2337
  401: Error;
2117
2338
  /**
2118
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2339
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2119
2340
  */
2120
2341
  404: Error;
2121
2342
  /**
@@ -2126,18 +2347,18 @@ type MessagesSendErrors = {
2126
2347
  type MessagesSendError = MessagesSendErrors[keyof MessagesSendErrors];
2127
2348
  type MessagesSendResponses = {
2128
2349
  /**
2129
- * The sent message.
2350
+ * Accepted.
2130
2351
  */
2131
- 201: {
2132
- data: Message;
2352
+ 202: {
2353
+ data: Sent;
2133
2354
  };
2134
2355
  };
2135
2356
  type MessagesSendResponse = MessagesSendResponses[keyof MessagesSendResponses];
2136
2357
  type MessagesSearchData = {
2137
2358
  body?: never;
2138
2359
  path?: never;
2139
- query: {
2140
- identity_id: string;
2360
+ query?: {
2361
+ identity_id?: string;
2141
2362
  q?: string;
2142
2363
  in?: 'inbox' | 'starred' | 'sent' | 'drafts' | 'scheduled' | 'snoozed' | 'archive' | 'spam' | 'trash' | 'unauthenticated';
2143
2364
  from?: string;
@@ -2156,7 +2377,7 @@ type MessagesSearchErrors = {
2156
2377
  */
2157
2378
  401: Error;
2158
2379
  /**
2159
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2380
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2160
2381
  */
2161
2382
  404: Error;
2162
2383
  /**
@@ -2170,7 +2391,7 @@ type MessagesSearchResponses = {
2170
2391
  * What matched.
2171
2392
  */
2172
2393
  200: {
2173
- data: Array<MessageListItem>;
2394
+ data: Array<SearchHit>;
2174
2395
  has_more: boolean;
2175
2396
  /**
2176
2397
  * Pass as `cursor` to continue. Null on the last page.
@@ -2194,7 +2415,7 @@ type MessagesActErrors = {
2194
2415
  */
2195
2416
  401: Error;
2196
2417
  /**
2197
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2418
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2198
2419
  */
2199
2420
  404: Error;
2200
2421
  /**
@@ -2226,7 +2447,7 @@ type MessagesUndoErrors = {
2226
2447
  */
2227
2448
  401: Error;
2228
2449
  /**
2229
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2450
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2230
2451
  */
2231
2452
  404: Error;
2232
2453
  /**
@@ -2258,7 +2479,7 @@ type MessagesGetErrors = {
2258
2479
  */
2259
2480
  401: Error;
2260
2481
  /**
2261
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2482
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2262
2483
  */
2263
2484
  404: Error;
2264
2485
  /**
@@ -2294,7 +2515,7 @@ type MessagesUpdateErrors = {
2294
2515
  */
2295
2516
  401: Error;
2296
2517
  /**
2297
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2518
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2298
2519
  */
2299
2520
  404: Error;
2300
2521
  /**
@@ -2314,11 +2535,29 @@ type MessagesUpdateResponses = {
2314
2535
  type MessagesUpdateResponse = MessagesUpdateResponses[keyof MessagesUpdateResponses];
2315
2536
  type MessagesReplyData = {
2316
2537
  body: {
2538
+ /**
2539
+ * The plain-text body. Send this even when you send `html` — some clients only read it.
2540
+ */
2317
2541
  text?: string;
2542
+ /**
2543
+ * The rich body. Sanitised on the way in; scripts and remote content are removed.
2544
+ */
2318
2545
  html?: string;
2546
+ /**
2547
+ * One address or several. A string is accepted for the single case.
2548
+ */
2319
2549
  to?: Array<string>;
2550
+ /**
2551
+ * Copied, and visible to everybody who receives the message.
2552
+ */
2320
2553
  cc?: Array<string>;
2554
+ /**
2555
+ * Copied, and visible to nobody else.
2556
+ */
2321
2557
  bcc?: Array<string>;
2558
+ /**
2559
+ * Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20.
2560
+ */
2322
2561
  attachment_ids?: Array<string>;
2323
2562
  };
2324
2563
  path: {
@@ -2333,7 +2572,7 @@ type MessagesReplyErrors = {
2333
2572
  */
2334
2573
  401: Error;
2335
2574
  /**
2336
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2575
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2337
2576
  */
2338
2577
  404: Error;
2339
2578
  /**
@@ -2353,11 +2592,29 @@ type MessagesReplyResponses = {
2353
2592
  type MessagesReplyResponse = MessagesReplyResponses[keyof MessagesReplyResponses];
2354
2593
  type MessagesReplyAllData = {
2355
2594
  body: {
2595
+ /**
2596
+ * The plain-text body. Send this even when you send `html` — some clients only read it.
2597
+ */
2356
2598
  text?: string;
2599
+ /**
2600
+ * The rich body. Sanitised on the way in; scripts and remote content are removed.
2601
+ */
2357
2602
  html?: string;
2603
+ /**
2604
+ * One address or several. A string is accepted for the single case.
2605
+ */
2358
2606
  to?: Array<string>;
2607
+ /**
2608
+ * Copied, and visible to everybody who receives the message.
2609
+ */
2359
2610
  cc?: Array<string>;
2611
+ /**
2612
+ * Copied, and visible to nobody else.
2613
+ */
2360
2614
  bcc?: Array<string>;
2615
+ /**
2616
+ * Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20.
2617
+ */
2361
2618
  attachment_ids?: Array<string>;
2362
2619
  };
2363
2620
  path: {
@@ -2372,7 +2629,7 @@ type MessagesReplyAllErrors = {
2372
2629
  */
2373
2630
  401: Error;
2374
2631
  /**
2375
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2632
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2376
2633
  */
2377
2634
  404: Error;
2378
2635
  /**
@@ -2392,11 +2649,29 @@ type MessagesReplyAllResponses = {
2392
2649
  type MessagesReplyAllResponse = MessagesReplyAllResponses[keyof MessagesReplyAllResponses];
2393
2650
  type MessagesForwardData = {
2394
2651
  body: {
2652
+ /**
2653
+ * The plain-text body. Send this even when you send `html` — some clients only read it.
2654
+ */
2395
2655
  text?: string;
2656
+ /**
2657
+ * The rich body. Sanitised on the way in; scripts and remote content are removed.
2658
+ */
2396
2659
  html?: string;
2660
+ /**
2661
+ * One address or several. A string is accepted for the single case.
2662
+ */
2397
2663
  to?: Array<string>;
2664
+ /**
2665
+ * Copied, and visible to everybody who receives the message.
2666
+ */
2398
2667
  cc?: Array<string>;
2668
+ /**
2669
+ * Copied, and visible to nobody else.
2670
+ */
2399
2671
  bcc?: Array<string>;
2672
+ /**
2673
+ * Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20.
2674
+ */
2400
2675
  attachment_ids?: Array<string>;
2401
2676
  };
2402
2677
  path: {
@@ -2411,7 +2686,7 @@ type MessagesForwardErrors = {
2411
2686
  */
2412
2687
  401: Error;
2413
2688
  /**
2414
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2689
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2415
2690
  */
2416
2691
  404: Error;
2417
2692
  /**
@@ -2443,7 +2718,7 @@ type MessagesRawErrors = {
2443
2718
  */
2444
2719
  401: Error;
2445
2720
  /**
2446
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2721
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2447
2722
  */
2448
2723
  404: Error;
2449
2724
  /**
@@ -2484,7 +2759,7 @@ type ThreadsListErrors = {
2484
2759
  */
2485
2760
  401: Error;
2486
2761
  /**
2487
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2762
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2488
2763
  */
2489
2764
  404: Error;
2490
2765
  /**
@@ -2521,7 +2796,7 @@ type ThreadsGetErrors = {
2521
2796
  */
2522
2797
  401: Error;
2523
2798
  /**
2524
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2799
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2525
2800
  */
2526
2801
  404: Error;
2527
2802
  /**
@@ -2557,7 +2832,7 @@ type ThreadsUpdateErrors = {
2557
2832
  */
2558
2833
  401: Error;
2559
2834
  /**
2560
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2835
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2561
2836
  */
2562
2837
  404: Error;
2563
2838
  /**
@@ -2593,7 +2868,7 @@ type DomainsListErrors = {
2593
2868
  */
2594
2869
  401: Error;
2595
2870
  /**
2596
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2871
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2597
2872
  */
2598
2873
  404: Error;
2599
2874
  /**
@@ -2618,7 +2893,11 @@ type DomainsListResponses = {
2618
2893
  type DomainsListResponse = DomainsListResponses[keyof DomainsListResponses];
2619
2894
  type DomainsCreateData = {
2620
2895
  body: {
2896
+ /**
2897
+ * A domain name you own, or the shared one. An alternative to `domain_id`.
2898
+ */
2621
2899
  domain: string;
2900
+ inbound_enabled?: boolean;
2622
2901
  };
2623
2902
  path?: never;
2624
2903
  query?: never;
@@ -2630,7 +2909,7 @@ type DomainsCreateErrors = {
2630
2909
  */
2631
2910
  401: Error;
2632
2911
  /**
2633
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2912
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2634
2913
  */
2635
2914
  404: Error;
2636
2915
  /**
@@ -2662,7 +2941,7 @@ type DomainsZoneFileErrors = {
2662
2941
  */
2663
2942
  401: Error;
2664
2943
  /**
2665
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2944
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2666
2945
  */
2667
2946
  404: Error;
2668
2947
  /**
@@ -2697,7 +2976,7 @@ type DomainsGetSetupLinkErrors = {
2697
2976
  */
2698
2977
  401: Error;
2699
2978
  /**
2700
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
2979
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2701
2980
  */
2702
2981
  404: Error;
2703
2982
  /**
@@ -2729,7 +3008,7 @@ type DomainsVerifyErrors = {
2729
3008
  */
2730
3009
  401: Error;
2731
3010
  /**
2732
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3011
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2733
3012
  */
2734
3013
  404: Error;
2735
3014
  /**
@@ -2761,7 +3040,7 @@ type DomainsDeleteErrors = {
2761
3040
  */
2762
3041
  401: Error;
2763
3042
  /**
2764
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3043
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2765
3044
  */
2766
3045
  404: Error;
2767
3046
  /**
@@ -2793,7 +3072,7 @@ type DomainsGetErrors = {
2793
3072
  */
2794
3073
  401: Error;
2795
3074
  /**
2796
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3075
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2797
3076
  */
2798
3077
  404: Error;
2799
3078
  /**
@@ -2827,7 +3106,7 @@ type DomainsUpdateErrors = {
2827
3106
  */
2828
3107
  401: Error;
2829
3108
  /**
2830
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3109
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2831
3110
  */
2832
3111
  404: Error;
2833
3112
  /**
@@ -2859,7 +3138,7 @@ type RoutingListErrors = {
2859
3138
  */
2860
3139
  401: Error;
2861
3140
  /**
2862
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3141
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2863
3142
  */
2864
3143
  404: Error;
2865
3144
  /**
@@ -2911,7 +3190,7 @@ type RoutingCreateErrors = {
2911
3190
  */
2912
3191
  401: Error;
2913
3192
  /**
2914
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3193
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2915
3194
  */
2916
3195
  404: Error;
2917
3196
  /**
@@ -2943,7 +3222,7 @@ type RoutingDeleteErrors = {
2943
3222
  */
2944
3223
  401: Error;
2945
3224
  /**
2946
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3225
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2947
3226
  */
2948
3227
  404: Error;
2949
3228
  /**
@@ -2977,7 +3256,7 @@ type RoutingUpdateErrors = {
2977
3256
  */
2978
3257
  401: Error;
2979
3258
  /**
2980
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3259
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
2981
3260
  */
2982
3261
  404: Error;
2983
3262
  /**
@@ -3009,7 +3288,7 @@ type MailboxesListErrors = {
3009
3288
  */
3010
3289
  401: Error;
3011
3290
  /**
3012
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3291
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3013
3292
  */
3014
3293
  404: Error;
3015
3294
  /**
@@ -3048,7 +3327,7 @@ type MailboxesChangesErrors = {
3048
3327
  */
3049
3328
  401: Error;
3050
3329
  /**
3051
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3330
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3052
3331
  */
3053
3332
  404: Error;
3054
3333
  /**
@@ -3087,7 +3366,7 @@ type MailboxesEmptyTrashErrors = {
3087
3366
  */
3088
3367
  401: Error;
3089
3368
  /**
3090
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3369
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3091
3370
  */
3092
3371
  404: Error;
3093
3372
  /**
@@ -3127,7 +3406,7 @@ type MailboxesListFolderErrors = {
3127
3406
  */
3128
3407
  401: Error;
3129
3408
  /**
3130
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3409
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3131
3410
  */
3132
3411
  404: Error;
3133
3412
  /**
@@ -3147,6 +3426,10 @@ type MailboxesListFolderResponses = {
3147
3426
  * Pass as `cursor` to continue. Null on the last page.
3148
3427
  */
3149
3428
  next_cursor: string | null;
3429
+ /**
3430
+ * Hand to `GET /mailboxes/changes` as `since` to be told what has changed since this page, rather than fetching it again. Not a page cursor — the two are different reads and each refuses the other.
3431
+ */
3432
+ sync_cursor: string;
3150
3433
  };
3151
3434
  };
3152
3435
  type MailboxesListFolderResponse = MailboxesListFolderResponses[keyof MailboxesListFolderResponses];
@@ -3162,7 +3445,7 @@ type KeysListErrors = {
3162
3445
  */
3163
3446
  401: Error;
3164
3447
  /**
3165
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3448
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3166
3449
  */
3167
3450
  404: Error;
3168
3451
  /**
@@ -3189,7 +3472,13 @@ type KeysCreateData = {
3189
3472
  body: {
3190
3473
  name: string;
3191
3474
  identity_ids: Array<string>;
3475
+ /**
3476
+ * What a key may do. Give an agent the narrowest one that works.
3477
+ */
3192
3478
  access?: 'read' | 'send' | 'admin';
3479
+ /**
3480
+ * When it stops accepting mail. Expiry suspends; it never deletes, so the correspondence survives.
3481
+ */
3193
3482
  expires_at?: string | null;
3194
3483
  };
3195
3484
  path?: never;
@@ -3202,7 +3491,7 @@ type KeysCreateErrors = {
3202
3491
  */
3203
3492
  401: Error;
3204
3493
  /**
3205
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3494
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3206
3495
  */
3207
3496
  404: Error;
3208
3497
  /**
@@ -3234,7 +3523,7 @@ type KeysRevokeErrors = {
3234
3523
  */
3235
3524
  401: Error;
3236
3525
  /**
3237
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3526
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3238
3527
  */
3239
3528
  404: Error;
3240
3529
  /**
@@ -3266,7 +3555,7 @@ type KeysGetErrors = {
3266
3555
  */
3267
3556
  401: Error;
3268
3557
  /**
3269
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3558
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3270
3559
  */
3271
3560
  404: Error;
3272
3561
  /**
@@ -3300,7 +3589,7 @@ type KeysUpdateErrors = {
3300
3589
  */
3301
3590
  401: Error;
3302
3591
  /**
3303
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3592
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3304
3593
  */
3305
3594
  404: Error;
3306
3595
  /**
@@ -3332,7 +3621,7 @@ type AppPasswordsListErrors = {
3332
3621
  */
3333
3622
  401: Error;
3334
3623
  /**
3335
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3624
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3336
3625
  */
3337
3626
  404: Error;
3338
3627
  /**
@@ -3357,6 +3646,9 @@ type AppPasswordsListResponses = {
3357
3646
  type AppPasswordsListResponse = AppPasswordsListResponses[keyof AppPasswordsListResponses];
3358
3647
  type AppPasswordsCreateData = {
3359
3648
  body: {
3649
+ /**
3650
+ * The address this belongs to.
3651
+ */
3360
3652
  identity_id: string;
3361
3653
  name: string;
3362
3654
  };
@@ -3370,7 +3662,7 @@ type AppPasswordsCreateErrors = {
3370
3662
  */
3371
3663
  401: Error;
3372
3664
  /**
3373
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3665
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3374
3666
  */
3375
3667
  404: Error;
3376
3668
  /**
@@ -3402,7 +3694,7 @@ type AppPasswordsRevokeErrors = {
3402
3694
  */
3403
3695
  401: Error;
3404
3696
  /**
3405
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3697
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3406
3698
  */
3407
3699
  404: Error;
3408
3700
  /**
@@ -3420,6 +3712,36 @@ type AppPasswordsRevokeResponses = {
3420
3712
  };
3421
3713
  };
3422
3714
  type AppPasswordsRevokeResponse = AppPasswordsRevokeResponses[keyof AppPasswordsRevokeResponses];
3715
+ type MeGetData = {
3716
+ body?: never;
3717
+ path?: never;
3718
+ query?: never;
3719
+ url: '/me';
3720
+ };
3721
+ type MeGetErrors = {
3722
+ /**
3723
+ * No API key, or one that is not valid.
3724
+ */
3725
+ 401: Error;
3726
+ /**
3727
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3728
+ */
3729
+ 404: Error;
3730
+ /**
3731
+ * Rate limited. `X-RateLimit-Reset` says when to retry.
3732
+ */
3733
+ 429: Error;
3734
+ };
3735
+ type MeGetError = MeGetErrors[keyof MeGetErrors];
3736
+ type MeGetResponses = {
3737
+ /**
3738
+ * The calling credential.
3739
+ */
3740
+ 200: {
3741
+ data: Me;
3742
+ };
3743
+ };
3744
+ type MeGetResponse = MeGetResponses[keyof MeGetResponses];
3423
3745
  type WorkspaceGetData = {
3424
3746
  body?: never;
3425
3747
  path?: never;
@@ -3432,7 +3754,7 @@ type WorkspaceGetErrors = {
3432
3754
  */
3433
3755
  401: Error;
3434
3756
  /**
3435
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3757
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3436
3758
  */
3437
3759
  404: Error;
3438
3760
  /**
@@ -3462,7 +3784,7 @@ type WorkspaceMembersErrors = {
3462
3784
  */
3463
3785
  401: Error;
3464
3786
  /**
3465
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3787
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3466
3788
  */
3467
3789
  404: Error;
3468
3790
  /**
@@ -3506,7 +3828,7 @@ type EventsListErrors = {
3506
3828
  */
3507
3829
  401: Error;
3508
3830
  /**
3509
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3831
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3510
3832
  */
3511
3833
  404: Error;
3512
3834
  /**
@@ -3529,6 +3851,43 @@ type EventsListResponses = {
3529
3851
  };
3530
3852
  };
3531
3853
  type EventsListResponse = EventsListResponses[keyof EventsListResponses];
3854
+ type EventsStreamData = {
3855
+ body?: never;
3856
+ path?: never;
3857
+ query?: {
3858
+ limit?: number;
3859
+ /**
3860
+ * From a previous page’s `next_cursor`. Opaque — do not parse it.
3861
+ */
3862
+ cursor?: string;
3863
+ type?: string;
3864
+ identity_id?: string;
3865
+ after?: string;
3866
+ };
3867
+ url: '/events/stream';
3868
+ };
3869
+ type EventsStreamErrors = {
3870
+ /**
3871
+ * No API key, or one that is not valid.
3872
+ */
3873
+ 401: Error;
3874
+ /**
3875
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3876
+ */
3877
+ 404: Error;
3878
+ /**
3879
+ * Rate limited. `X-RateLimit-Reset` says when to retry.
3880
+ */
3881
+ 429: Error;
3882
+ };
3883
+ type EventsStreamError = EventsStreamErrors[keyof EventsStreamErrors];
3884
+ type EventsStreamResponses = {
3885
+ /**
3886
+ * An open stream of events.
3887
+ */
3888
+ 200: string;
3889
+ };
3890
+ type EventsStreamResponse = EventsStreamResponses[keyof EventsStreamResponses];
3532
3891
  type EventsGetData = {
3533
3892
  body?: never;
3534
3893
  path: {
@@ -3543,7 +3902,7 @@ type EventsGetErrors = {
3543
3902
  */
3544
3903
  401: Error;
3545
3904
  /**
3546
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3905
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3547
3906
  */
3548
3907
  404: Error;
3549
3908
  /**
@@ -3579,7 +3938,7 @@ type WebhooksListErrors = {
3579
3938
  */
3580
3939
  401: Error;
3581
3940
  /**
3582
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3941
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3583
3942
  */
3584
3943
  404: Error;
3585
3944
  /**
@@ -3604,7 +3963,13 @@ type WebhooksListResponses = {
3604
3963
  type WebhooksListResponse = WebhooksListResponses[keyof WebhooksListResponses];
3605
3964
  type WebhooksCreateData = {
3606
3965
  body: {
3966
+ /**
3967
+ * Where we POST. HTTPS, and it has to answer within a few seconds.
3968
+ */
3607
3969
  url: string;
3970
+ /**
3971
+ * The address this belongs to.
3972
+ */
3608
3973
  identity_id?: string | null;
3609
3974
  event_types?: Array<'message.received' | 'message.sent' | 'message.delivered' | 'message.bounced' | 'message.rejected' | 'message.complained' | 'message.spam' | 'message.invitation' | 'message.archived' | 'message.deleted' | 'calendar.event.created' | 'calendar.event.updated' | 'calendar.event.deleted' | 'calendar.event.starting' | 'calendar.event.ending' | 'calendar.event.responded' | 'thread.created' | 'thread.updated' | 'thread.assigned' | 'thread.unassigned' | 'identity.created' | 'identity.updated' | 'identity.suspended' | 'identity.transferred' | 'domain.verified'>;
3610
3975
  };
@@ -3618,7 +3983,7 @@ type WebhooksCreateErrors = {
3618
3983
  */
3619
3984
  401: Error;
3620
3985
  /**
3621
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
3986
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3622
3987
  */
3623
3988
  404: Error;
3624
3989
  /**
@@ -3650,7 +4015,7 @@ type WebhooksDeleteErrors = {
3650
4015
  */
3651
4016
  401: Error;
3652
4017
  /**
3653
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4018
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3654
4019
  */
3655
4020
  404: Error;
3656
4021
  /**
@@ -3682,7 +4047,7 @@ type WebhooksGetErrors = {
3682
4047
  */
3683
4048
  401: Error;
3684
4049
  /**
3685
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4050
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3686
4051
  */
3687
4052
  404: Error;
3688
4053
  /**
@@ -3716,7 +4081,7 @@ type WebhooksUpdateErrors = {
3716
4081
  */
3717
4082
  401: Error;
3718
4083
  /**
3719
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4084
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3720
4085
  */
3721
4086
  404: Error;
3722
4087
  /**
@@ -3748,7 +4113,7 @@ type WebhooksGetHeadersErrors = {
3748
4113
  */
3749
4114
  401: Error;
3750
4115
  /**
3751
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4116
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3752
4117
  */
3753
4118
  404: Error;
3754
4119
  /**
@@ -3784,7 +4149,7 @@ type WebhooksUpdateHeadersErrors = {
3784
4149
  */
3785
4150
  401: Error;
3786
4151
  /**
3787
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4152
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3788
4153
  */
3789
4154
  404: Error;
3790
4155
  /**
@@ -3817,7 +4182,7 @@ type WebhooksDeliveriesErrors = {
3817
4182
  */
3818
4183
  401: Error;
3819
4184
  /**
3820
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4185
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3821
4186
  */
3822
4187
  404: Error;
3823
4188
  /**
@@ -3854,7 +4219,7 @@ type WebhooksReplayErrors = {
3854
4219
  */
3855
4220
  401: Error;
3856
4221
  /**
3857
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4222
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3858
4223
  */
3859
4224
  404: Error;
3860
4225
  /**
@@ -3889,7 +4254,7 @@ type MessagesRespondToInvitationErrors = {
3889
4254
  */
3890
4255
  401: Error;
3891
4256
  /**
3892
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4257
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3893
4258
  */
3894
4259
  404: Error;
3895
4260
  /**
@@ -3927,7 +4292,7 @@ type CalendarGetErrors = {
3927
4292
  */
3928
4293
  401: Error;
3929
4294
  /**
3930
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4295
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3931
4296
  */
3932
4297
  404: Error;
3933
4298
  /**
@@ -3947,6 +4312,9 @@ type CalendarGetResponses = {
3947
4312
  type CalendarGetResponse = CalendarGetResponses[keyof CalendarGetResponses];
3948
4313
  type CalendarUpdateData = {
3949
4314
  body: {
4315
+ /**
4316
+ * An IANA name, like `Europe/Lisbon`. The times above are read in it.
4317
+ */
3950
4318
  timezone: string;
3951
4319
  };
3952
4320
  headers?: {
@@ -3967,7 +4335,7 @@ type CalendarUpdateErrors = {
3967
4335
  */
3968
4336
  401: Error;
3969
4337
  /**
3970
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4338
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
3971
4339
  */
3972
4340
  404: Error;
3973
4341
  /**
@@ -4005,7 +4373,7 @@ type CalendarListEventsErrors = {
4005
4373
  */
4006
4374
  401: Error;
4007
4375
  /**
4008
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4376
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4009
4377
  */
4010
4378
  404: Error;
4011
4379
  /**
@@ -4033,6 +4401,9 @@ type CalendarCreateEventData = {
4033
4401
  title: string;
4034
4402
  start: string;
4035
4403
  end: string;
4404
+ /**
4405
+ * An IANA name, like `Europe/Lisbon`. The times above are read in it.
4406
+ */
4036
4407
  timezone?: string | null;
4037
4408
  all_day?: boolean;
4038
4409
  description?: string | null;
@@ -4064,7 +4435,7 @@ type CalendarCreateEventErrors = {
4064
4435
  */
4065
4436
  401: Error;
4066
4437
  /**
4067
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4438
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4068
4439
  */
4069
4440
  404: Error;
4070
4441
  /**
@@ -4107,7 +4478,7 @@ type CalendarRespondToEventErrors = {
4107
4478
  */
4108
4479
  401: Error;
4109
4480
  /**
4110
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4481
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4111
4482
  */
4112
4483
  404: Error;
4113
4484
  /**
@@ -4144,7 +4515,7 @@ type CalendarListEventInstancesErrors = {
4144
4515
  */
4145
4516
  401: Error;
4146
4517
  /**
4147
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4518
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4148
4519
  */
4149
4520
  404: Error;
4150
4521
  /**
@@ -4186,7 +4557,7 @@ type CalendarGetAgendaErrors = {
4186
4557
  */
4187
4558
  401: Error;
4188
4559
  /**
4189
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4560
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4190
4561
  */
4191
4562
  404: Error;
4192
4563
  /**
@@ -4235,7 +4606,7 @@ type CalendarDeleteEventErrors = {
4235
4606
  */
4236
4607
  401: Error;
4237
4608
  /**
4238
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4609
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4239
4610
  */
4240
4611
  404: Error;
4241
4612
  /**
@@ -4268,7 +4639,7 @@ type CalendarGetEventErrors = {
4268
4639
  */
4269
4640
  401: Error;
4270
4641
  /**
4271
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4642
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4272
4643
  */
4273
4644
  404: Error;
4274
4645
  /**
@@ -4291,6 +4662,9 @@ type CalendarUpdateEventData = {
4291
4662
  title?: string;
4292
4663
  start?: string;
4293
4664
  end?: string;
4665
+ /**
4666
+ * An IANA name, like `Europe/Lisbon`. The times above are read in it.
4667
+ */
4294
4668
  timezone?: string;
4295
4669
  all_day?: boolean;
4296
4670
  description?: string | null;
@@ -4334,7 +4708,7 @@ type CalendarUpdateEventErrors = {
4334
4708
  */
4335
4709
  401: Error;
4336
4710
  /**
4337
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4711
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4338
4712
  */
4339
4713
  404: Error;
4340
4714
  /**
@@ -4367,7 +4741,7 @@ type DraftsListErrors = {
4367
4741
  */
4368
4742
  401: Error;
4369
4743
  /**
4370
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4744
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4371
4745
  */
4372
4746
  404: Error;
4373
4747
  /**
@@ -4392,14 +4766,45 @@ type DraftsListResponses = {
4392
4766
  type DraftsListResponse = DraftsListResponses[keyof DraftsListResponses];
4393
4767
  type DraftsCreateData = {
4394
4768
  body: {
4769
+ /**
4770
+ * The address this belongs to.
4771
+ */
4395
4772
  identity_id: string;
4773
+ /**
4774
+ * An address on a domain you own, and one this key may send from.
4775
+ */
4396
4776
  from?: string;
4777
+ /**
4778
+ * One address or several. A string is accepted for the single case.
4779
+ */
4397
4780
  to?: Array<string>;
4781
+ /**
4782
+ * Copied, and visible to everybody who receives the message.
4783
+ */
4398
4784
  cc?: Array<string>;
4785
+ /**
4786
+ * Copied, and visible to nobody else.
4787
+ */
4399
4788
  bcc?: Array<string>;
4789
+ /**
4790
+ * Left off a reply, where the thread already has one.
4791
+ */
4400
4792
  subject?: string | null;
4793
+ /**
4794
+ * The plain-text body. Send this even when you send `html` — some clients only read it.
4795
+ */
4401
4796
  text?: string | null;
4797
+ /**
4798
+ * The same field as `in_reply_to`, under the name this endpoint has always used. Both names work on both endpoints; reach for `in_reply_to`.
4799
+ */
4402
4800
  in_reply_to_message_id?: string | null;
4801
+ /**
4802
+ * The message being answered. Keeps the conversation together in the recipient’s client too.
4803
+ */
4804
+ in_reply_to?: string | null;
4805
+ /**
4806
+ * Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20.
4807
+ */
4403
4808
  attachment_ids?: Array<string>;
4404
4809
  };
4405
4810
  path?: never;
@@ -4412,7 +4817,7 @@ type DraftsCreateErrors = {
4412
4817
  */
4413
4818
  401: Error;
4414
4819
  /**
4415
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4820
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4416
4821
  */
4417
4822
  404: Error;
4418
4823
  /**
@@ -4444,7 +4849,7 @@ type DraftsDeleteErrors = {
4444
4849
  */
4445
4850
  401: Error;
4446
4851
  /**
4447
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4852
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4448
4853
  */
4449
4854
  404: Error;
4450
4855
  /**
@@ -4476,7 +4881,7 @@ type DraftsGetErrors = {
4476
4881
  */
4477
4882
  401: Error;
4478
4883
  /**
4479
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4884
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4480
4885
  */
4481
4886
  404: Error;
4482
4887
  /**
@@ -4496,12 +4901,33 @@ type DraftsGetResponses = {
4496
4901
  type DraftsGetResponse = DraftsGetResponses[keyof DraftsGetResponses];
4497
4902
  type DraftsUpdateData = {
4498
4903
  body: {
4904
+ /**
4905
+ * An address on a domain you own, and one this key may send from.
4906
+ */
4499
4907
  from?: string;
4908
+ /**
4909
+ * One address or several. A string is accepted for the single case.
4910
+ */
4500
4911
  to?: Array<string>;
4912
+ /**
4913
+ * Copied, and visible to everybody who receives the message.
4914
+ */
4501
4915
  cc?: Array<string>;
4916
+ /**
4917
+ * Copied, and visible to nobody else.
4918
+ */
4502
4919
  bcc?: Array<string>;
4920
+ /**
4921
+ * Left off a reply, where the thread already has one.
4922
+ */
4503
4923
  subject?: string | null;
4924
+ /**
4925
+ * The plain-text body. Send this even when you send `html` — some clients only read it.
4926
+ */
4504
4927
  text?: string | null;
4928
+ /**
4929
+ * Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20.
4930
+ */
4505
4931
  attachment_ids?: Array<string>;
4506
4932
  };
4507
4933
  path: {
@@ -4516,7 +4942,7 @@ type DraftsUpdateErrors = {
4516
4942
  */
4517
4943
  401: Error;
4518
4944
  /**
4519
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4945
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4520
4946
  */
4521
4947
  404: Error;
4522
4948
  /**
@@ -4548,7 +4974,7 @@ type DraftsSendErrors = {
4548
4974
  */
4549
4975
  401: Error;
4550
4976
  /**
4551
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
4977
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4552
4978
  */
4553
4979
  404: Error;
4554
4980
  /**
@@ -4580,7 +5006,7 @@ type DraftsCancelScheduleErrors = {
4580
5006
  */
4581
5007
  401: Error;
4582
5008
  /**
4583
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
5009
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4584
5010
  */
4585
5011
  404: Error;
4586
5012
  /**
@@ -4614,7 +5040,7 @@ type DraftsScheduleErrors = {
4614
5040
  */
4615
5041
  401: Error;
4616
5042
  /**
4617
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
5043
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4618
5044
  */
4619
5045
  404: Error;
4620
5046
  /**
@@ -4647,7 +5073,7 @@ type DraftsRemoveAttachmentErrors = {
4647
5073
  */
4648
5074
  401: Error;
4649
5075
  /**
4650
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
5076
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4651
5077
  */
4652
5078
  404: Error;
4653
5079
  /**
@@ -4680,7 +5106,7 @@ type MetricsQueryErrors = {
4680
5106
  */
4681
5107
  401: Error;
4682
5108
  /**
4683
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
5109
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4684
5110
  */
4685
5111
  404: Error;
4686
5112
  /**
@@ -4713,7 +5139,7 @@ type AttachmentsUploadErrors = {
4713
5139
  */
4714
5140
  401: Error;
4715
5141
  /**
4716
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
5142
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4717
5143
  */
4718
5144
  404: Error;
4719
5145
  /**
@@ -4745,7 +5171,7 @@ type AttachmentsDownloadUrlErrors = {
4745
5171
  */
4746
5172
  401: Error;
4747
5173
  /**
4748
- * No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
5174
+ * No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
4749
5175
  */
4750
5176
  404: Error;
4751
5177
  /**
@@ -4930,15 +5356,15 @@ declare const messagesListInThread: <ThrowOnError extends boolean = false>(optio
4930
5356
  /**
4931
5357
  * Send a message
4932
5358
  *
4933
- * Idempotent with an `Idempotency-Key` header.
5359
+ * Idempotent with an `Idempotency-Key` header. Answers `202` with the id, the thread and anything **rejected** — a recipient the address is not allowed to write to is refused here rather than failing later, so read `rejected` before assuming it went.
4934
5360
  */
4935
5361
  declare const messagesSend: <ThrowOnError extends boolean = false>(options: Options<MessagesSendData, ThrowOnError>) => RequestResult<MessagesSendResponses, MessagesSendErrors, ThrowOnError>;
4936
5362
  /**
4937
- * Search one mailbox
5363
+ * Search messages
4938
5364
  *
4939
- * Full-text, ranked by relevance, one mailbox at a time. Results carry the folder they were found in. Not paged: page two of a relevance ranking is a place nobody goes, so narrow the query instead.
5365
+ * Full-text, ranked by relevance, across every address this credential can reach. Name an `identity_id` to search exactly one. Every result carries the address it was found in and the folder it is in, because a hit you cannot attribute to a mailbox is a hit you cannot open. Not paged: page two of a relevance ranking is a place nobody goes, so narrow the query instead.
4940
5366
  */
4941
- declare const messagesSearch: <ThrowOnError extends boolean = false>(options: Options<MessagesSearchData, ThrowOnError>) => RequestResult<MessagesSearchResponses, MessagesSearchErrors, ThrowOnError>;
5367
+ declare const messagesSearch: <ThrowOnError extends boolean = false>(options?: Options<MessagesSearchData, ThrowOnError>) => RequestResult<MessagesSearchResponses, MessagesSearchErrors, ThrowOnError>;
4942
5368
  /**
4943
5369
  * Apply one action to many conversations
4944
5370
  *
@@ -5143,6 +5569,12 @@ declare const appPasswordsCreate: <ThrowOnError extends boolean = false>(options
5143
5569
  * Revoke an app password
5144
5570
  */
5145
5571
  declare const appPasswordsRevoke: <ThrowOnError extends boolean = false>(options: Options<AppPasswordsRevokeData, ThrowOnError>) => RequestResult<AppPasswordsRevokeResponses, AppPasswordsRevokeErrors, ThrowOnError>;
5572
+ /**
5573
+ * What this key is, and what it may do
5574
+ *
5575
+ * The one question a credential could not ask. Everything else here answers what is *in* the account, so the only way to learn your own access was to try something and read the refusal — and a key that reaches nothing looks exactly like a key that is broken. Free: no write, no side effect, and the three facts that decide whether your next call works.
5576
+ */
5577
+ declare const meGet: <ThrowOnError extends boolean = false>(options?: Options<MeGetData, ThrowOnError>) => RequestResult<MeGetResponses, MeGetErrors, ThrowOnError>;
5146
5578
  /**
5147
5579
  * Which account this key is for
5148
5580
  *
@@ -5165,6 +5597,18 @@ declare const workspaceMembers: <ThrowOnError extends boolean = false>(options?:
5165
5597
  * A forward page is ordered oldest first precisely so its **last** row is the high-water mark to resume from; `next_cursor` is that row either way.
5166
5598
  */
5167
5599
  declare const eventsList: <ThrowOnError extends boolean = false>(options?: Options<EventsListData, ThrowOnError>) => RequestResult<EventsListResponses, EventsListErrors, ThrowOnError>;
5600
+ /**
5601
+ * Stream events as they happen
5602
+ *
5603
+ * The event log held open, for a caller that cannot host a webhook endpoint — a script on a laptop, a notebook, an agent runtime with no public address.
5604
+ *
5605
+ * **Server-sent events.** Each message carries the event as `data`, the event type as `event:`, and the cursor to resume from as `id:`. Authentication, filtering by `type` and `identity_id`, and the `after` cursor are all exactly as on `GET /events` — this is that read, held open.
5606
+ *
5607
+ * **Reconnection is automatic and lossless.** A compliant client resends the last `id:` it saw as `Last-Event-ID`, which is preferred over `after`, so a dropped connection resumes with no gap and no repeat. The connection closes itself after about 280 seconds so that the last thing you receive is a cursor rather than a socket error; reconnect and carry on.
5608
+ *
5609
+ * **It polls, every two seconds, on our side of the wire.** No push exists in the database. What this buys is one held connection instead of a request from your network on a timer, and being woken only when something happened.
5610
+ */
5611
+ declare const eventsStream: <ThrowOnError extends boolean = false>(options?: Options<EventsStreamData, ThrowOnError, EventsStreamResponse>) => Promise<ServerSentEventsResult<EventsStreamResponses>>;
5168
5612
  /**
5169
5613
  * Fetch one event
5170
5614
  */
@@ -5399,4 +5843,4 @@ declare function verifyWebhook(input: {
5399
5843
  now?: Date;
5400
5844
  }): Promise<WebhookEnvelope>;
5401
5845
 
5402
- export { type Address, type AgentAttachHumanData, type AgentAttachHumanError, type AgentAttachHumanErrors, type AgentAttachHumanResponse, type AgentAttachHumanResponses, type AgentSignUpData, type AgentSignUpError, type AgentSignUpErrors, type AgentSignUpResponse, type AgentSignUpResponses, type AgentSignup, type AgentVerified, type AgentVerifyData, type AgentVerifyError, type AgentVerifyErrors, type AgentVerifyResponse, type AgentVerifyResponses, type ApiKey, type AppPassword, type AppPasswordsCreateData, type AppPasswordsCreateError, type AppPasswordsCreateErrors, type AppPasswordsCreateResponse, type AppPasswordsCreateResponses, type AppPasswordsListData, type AppPasswordsListError, type AppPasswordsListErrors, type AppPasswordsListResponse, type AppPasswordsListResponses, type AppPasswordsRevokeData, type AppPasswordsRevokeError, type AppPasswordsRevokeErrors, type AppPasswordsRevokeResponse, type AppPasswordsRevokeResponses, type Attachment, type AttachmentUrl, type AttachmentsDownloadUrlData, type AttachmentsDownloadUrlError, type AttachmentsDownloadUrlErrors, type AttachmentsDownloadUrlResponse, type AttachmentsDownloadUrlResponses, type AttachmentsUploadData, type AttachmentsUploadError, type AttachmentsUploadErrors, type AttachmentsUploadResponse, type AttachmentsUploadResponses, type Calendar, type CalendarCreateEventData, type CalendarCreateEventError, type CalendarCreateEventErrors, type CalendarCreateEventResponse, type CalendarCreateEventResponses, type CalendarDeleteEventData, type CalendarDeleteEventError, type CalendarDeleteEventErrors, type CalendarDeleteEventResponse, type CalendarDeleteEventResponses, type CalendarEvent, type CalendarGetAgendaData, type CalendarGetAgendaError, type CalendarGetAgendaErrors, type CalendarGetAgendaResponse, type CalendarGetAgendaResponses, type CalendarGetData, type CalendarGetError, type CalendarGetErrors, type CalendarGetEventData, type CalendarGetEventError, type CalendarGetEventErrors, type CalendarGetEventResponse, type CalendarGetEventResponses, type CalendarGetResponse, type CalendarGetResponses, type CalendarListEventInstancesData, type CalendarListEventInstancesError, type CalendarListEventInstancesErrors, type CalendarListEventInstancesResponse, type CalendarListEventInstancesResponses, type CalendarListEventsData, type CalendarListEventsError, type CalendarListEventsErrors, type CalendarListEventsResponse, type CalendarListEventsResponses, type CalendarRespondToEventData, type CalendarRespondToEventError, type CalendarRespondToEventErrors, type CalendarRespondToEventResponse, type CalendarRespondToEventResponses, type CalendarUpdateData, type CalendarUpdateError, type CalendarUpdateErrors, type CalendarUpdateEventData, type CalendarUpdateEventError, type CalendarUpdateEventErrors, type CalendarUpdateEventResponse, type CalendarUpdateEventResponses, type CalendarUpdateResponse, type CalendarUpdateResponses, type ClientOptions, type CreateClientConfig, type Deleted, type Delivery, type DnsRecord, type Domain, type DomainDetail, type DomainsCreateData, type DomainsCreateError, type DomainsCreateErrors, type DomainsCreateResponse, type DomainsCreateResponses, type DomainsDeleteData, type DomainsDeleteError, type DomainsDeleteErrors, type DomainsDeleteResponse, type DomainsDeleteResponses, type DomainsGetData, type DomainsGetError, type DomainsGetErrors, type DomainsGetResponse, type DomainsGetResponses, type DomainsGetSetupLinkData, type DomainsGetSetupLinkError, type DomainsGetSetupLinkErrors, type DomainsGetSetupLinkResponse, type DomainsGetSetupLinkResponses, type DomainsListData, type DomainsListError, type DomainsListErrors, type DomainsListResponse, type DomainsListResponses, type DomainsUpdateData, type DomainsUpdateError, type DomainsUpdateErrors, type DomainsUpdateResponse, type DomainsUpdateResponses, type DomainsVerifyData, type DomainsVerifyError, type DomainsVerifyErrors, type DomainsVerifyResponse, type DomainsVerifyResponses, type DomainsZoneFileData, type DomainsZoneFileError, type DomainsZoneFileErrors, type DomainsZoneFileResponse, type DomainsZoneFileResponses, type Draft, type DraftsCancelScheduleData, type DraftsCancelScheduleError, type DraftsCancelScheduleErrors, type DraftsCancelScheduleResponse, type DraftsCancelScheduleResponses, type DraftsCreateData, type DraftsCreateError, type DraftsCreateErrors, type DraftsCreateResponse, type DraftsCreateResponses, type DraftsDeleteData, type DraftsDeleteError, type DraftsDeleteErrors, type DraftsDeleteResponse, type DraftsDeleteResponses, type DraftsGetData, type DraftsGetError, type DraftsGetErrors, type DraftsGetResponse, type DraftsGetResponses, type DraftsListData, type DraftsListError, type DraftsListErrors, type DraftsListResponse, type DraftsListResponses, type DraftsRemoveAttachmentData, type DraftsRemoveAttachmentError, type DraftsRemoveAttachmentErrors, type DraftsRemoveAttachmentResponse, type DraftsRemoveAttachmentResponses, type DraftsScheduleData, type DraftsScheduleError, type DraftsScheduleErrors, type DraftsScheduleResponse, type DraftsScheduleResponses, type DraftsSendData, type DraftsSendError, type DraftsSendErrors, type DraftsSendResponse, type DraftsSendResponses, type DraftsUpdateData, type DraftsUpdateError, type DraftsUpdateErrors, type DraftsUpdateResponse, type DraftsUpdateResponses, type Emptied, type Error, type Event, type EventResponse, type EventsGetData, type EventsGetError, type EventsGetErrors, type EventsGetResponse, type EventsGetResponses, type EventsListData, type EventsListError, type EventsListErrors, type EventsListResponse, type EventsListResponses, type IdentitiesAccessCreateData, type IdentitiesAccessCreateError, type IdentitiesAccessCreateErrors, type IdentitiesAccessCreateResponse, type IdentitiesAccessCreateResponses, type IdentitiesAccessDeleteData, type IdentitiesAccessDeleteError, type IdentitiesAccessDeleteErrors, type IdentitiesAccessDeleteResponse, type IdentitiesAccessDeleteResponses, type IdentitiesAccessGetData, type IdentitiesAccessGetError, type IdentitiesAccessGetErrors, type IdentitiesAccessGetResponse, type IdentitiesAccessGetResponses, type IdentitiesCreateData, type IdentitiesCreateError, type IdentitiesCreateErrors, type IdentitiesCreateResponse, type IdentitiesCreateResponses, type IdentitiesDeleteData, type IdentitiesDeleteError, type IdentitiesDeleteErrors, type IdentitiesDeleteResponse, type IdentitiesDeleteResponses, type IdentitiesGetData, type IdentitiesGetError, type IdentitiesGetErrors, type IdentitiesGetResponse, type IdentitiesGetResponses, type IdentitiesListData, type IdentitiesListError, type IdentitiesListErrors, type IdentitiesListResponse, type IdentitiesListResponses, type IdentitiesReceiveRulesCreateData, type IdentitiesReceiveRulesCreateError, type IdentitiesReceiveRulesCreateErrors, type IdentitiesReceiveRulesCreateResponse, type IdentitiesReceiveRulesCreateResponses, type IdentitiesReceiveRulesDeleteData, type IdentitiesReceiveRulesDeleteError, type IdentitiesReceiveRulesDeleteErrors, type IdentitiesReceiveRulesDeleteResponse, type IdentitiesReceiveRulesDeleteResponses, type IdentitiesReceiveRulesGetData, type IdentitiesReceiveRulesGetError, type IdentitiesReceiveRulesGetErrors, type IdentitiesReceiveRulesGetResponse, type IdentitiesReceiveRulesGetResponses, type IdentitiesSendRulesCreateData, type IdentitiesSendRulesCreateError, type IdentitiesSendRulesCreateErrors, type IdentitiesSendRulesCreateResponse, type IdentitiesSendRulesCreateResponses, type IdentitiesSendRulesDeleteData, type IdentitiesSendRulesDeleteError, type IdentitiesSendRulesDeleteErrors, type IdentitiesSendRulesDeleteResponse, type IdentitiesSendRulesDeleteResponses, type IdentitiesSendRulesGetData, type IdentitiesSendRulesGetError, type IdentitiesSendRulesGetErrors, type IdentitiesSendRulesGetResponse, type IdentitiesSendRulesGetResponses, type IdentitiesSuspendTenantData, type IdentitiesSuspendTenantError, type IdentitiesSuspendTenantErrors, type IdentitiesSuspendTenantResponse, type IdentitiesSuspendTenantResponses, type IdentitiesUpdateData, type IdentitiesUpdateError, type IdentitiesUpdateErrors, type IdentitiesUpdateResponse, type IdentitiesUpdateResponses, type Identity, type Invitation, type InvitationResponse, type KeysCreateData, type KeysCreateError, type KeysCreateErrors, type KeysCreateResponse, type KeysCreateResponses, type KeysGetData, type KeysGetError, type KeysGetErrors, type KeysGetResponse, type KeysGetResponses, type KeysListData, type KeysListError, type KeysListErrors, type KeysListResponse, type KeysListResponses, type KeysRevokeData, type KeysRevokeError, type KeysRevokeErrors, type KeysRevokeResponse, type KeysRevokeResponses, type KeysUpdateData, type KeysUpdateError, type KeysUpdateErrors, type KeysUpdateResponse, type KeysUpdateResponses, type Label, type LabelRemoved, type LabelsCreateData, type LabelsCreateError, type LabelsCreateErrors, type LabelsCreateResponse, type LabelsCreateResponses, type LabelsDeleteData, type LabelsDeleteError, type LabelsDeleteErrors, type LabelsDeleteResponse, type LabelsDeleteResponses, type LabelsListData, type LabelsListError, type LabelsListErrors, type LabelsListResponse, type LabelsListResponses, type LabelsUpdateData, type LabelsUpdateError, type LabelsUpdateErrors, type LabelsUpdateResponse, type LabelsUpdateResponses, type Mailbox, type MailboxAccess, type MailboxChange, type MailboxesChangesData, type MailboxesChangesError, type MailboxesChangesErrors, type MailboxesChangesResponse, type MailboxesChangesResponses, type MailboxesEmptyTrashData, type MailboxesEmptyTrashError, type MailboxesEmptyTrashErrors, type MailboxesEmptyTrashResponse, type MailboxesEmptyTrashResponses, type MailboxesListData, type MailboxesListError, type MailboxesListErrors, type MailboxesListFolderData, type MailboxesListFolderError, type MailboxesListFolderErrors, type MailboxesListFolderResponse, type MailboxesListFolderResponses, type MailboxesListResponse, type MailboxesListResponses, type Member, type Message, type MessageListItem, type MessagesActData, type MessagesActError, type MessagesActErrors, type MessagesActResponse, type MessagesActResponses, type MessagesForwardData, type MessagesForwardError, type MessagesForwardErrors, type MessagesForwardResponse, type MessagesForwardResponses, type MessagesGetData, type MessagesGetError, type MessagesGetErrors, type MessagesGetResponse, type MessagesGetResponses, type MessagesListInThreadData, type MessagesListInThreadError, type MessagesListInThreadErrors, type MessagesListInThreadResponse, type MessagesListInThreadResponses, type MessagesRawData, type MessagesRawError, type MessagesRawErrors, type MessagesRawResponse, type MessagesRawResponses, type MessagesReplyAllData, type MessagesReplyAllError, type MessagesReplyAllErrors, type MessagesReplyAllResponse, type MessagesReplyAllResponses, type MessagesReplyData, type MessagesReplyError, type MessagesReplyErrors, type MessagesReplyResponse, type MessagesReplyResponses, type MessagesRespondToInvitationData, type MessagesRespondToInvitationError, type MessagesRespondToInvitationErrors, type MessagesRespondToInvitationResponse, type MessagesRespondToInvitationResponses, type MessagesSearchData, type MessagesSearchError, type MessagesSearchErrors, type MessagesSearchResponse, type MessagesSearchResponses, type MessagesSendData, type MessagesSendError, type MessagesSendErrors, type MessagesSendResponse, type MessagesSendResponses, type MessagesUndoData, type MessagesUndoError, type MessagesUndoErrors, type MessagesUndoResponse, type MessagesUndoResponses, type MessagesUpdateData, type MessagesUpdateError, type MessagesUpdateErrors, type MessagesUpdateResponse, type MessagesUpdateResponses, type Metrics, type MetricsQueryData, type MetricsQueryError, type MetricsQueryErrors, type MetricsQueryResponse, type MetricsQueryResponses, type Options, type ReceiveRuleRemoved, type ReceiveRules, type Replayed, type Restored, type Revoked, type RoutingCreateData, type RoutingCreateError, type RoutingCreateErrors, type RoutingCreateResponse, type RoutingCreateResponses, type RoutingDeleteData, type RoutingDeleteError, type RoutingDeleteErrors, type RoutingDeleteResponse, type RoutingDeleteResponses, type RoutingListData, type RoutingListError, type RoutingListErrors, type RoutingListResponse, type RoutingListResponses, type RoutingRule, type RoutingUpdateData, type RoutingUpdateError, type RoutingUpdateErrors, type RoutingUpdateResponse, type RoutingUpdateResponses, SIGNATURE_HEADER, type SendRuleRemoved, type SendRules, type Sent, type SetupLink, TIMESTAMP_HEADER, type TenantSuspended, type Thread, type ThreadsGetData, type ThreadsGetError, type ThreadsGetErrors, type ThreadsGetResponse, type ThreadsGetResponses, type ThreadsLabelsCreateData, type ThreadsLabelsCreateError, type ThreadsLabelsCreateErrors, type ThreadsLabelsCreateResponse, type ThreadsLabelsCreateResponses, type ThreadsLabelsDeleteData, type ThreadsLabelsDeleteError, type ThreadsLabelsDeleteErrors, type ThreadsLabelsDeleteResponse, type ThreadsLabelsDeleteResponses, type ThreadsLabelsGetData, type ThreadsLabelsGetError, type ThreadsLabelsGetErrors, type ThreadsLabelsGetResponse, type ThreadsLabelsGetResponses, type ThreadsListData, type ThreadsListError, type ThreadsListErrors, type ThreadsListResponse, type ThreadsListResponses, type ThreadsUpdateData, type ThreadsUpdateError, type ThreadsUpdateErrors, type ThreadsUpdateResponse, type ThreadsUpdateResponses, type Undo, type UploadedAttachment, type Verification, type Webhook, type WebhookCreated, type WebhookEnvelope, type WebhookHeaders, type WebhooksCreateData, type WebhooksCreateError, type WebhooksCreateErrors, type WebhooksCreateResponse, type WebhooksCreateResponses, type WebhooksDeleteData, type WebhooksDeleteError, type WebhooksDeleteErrors, type WebhooksDeleteResponse, type WebhooksDeleteResponses, type WebhooksDeliveriesData, type WebhooksDeliveriesError, type WebhooksDeliveriesErrors, type WebhooksDeliveriesResponse, type WebhooksDeliveriesResponses, type WebhooksGetData, type WebhooksGetError, type WebhooksGetErrors, type WebhooksGetHeadersData, type WebhooksGetHeadersError, type WebhooksGetHeadersErrors, type WebhooksGetHeadersResponse, type WebhooksGetHeadersResponses, type WebhooksGetResponse, type WebhooksGetResponses, type WebhooksListData, type WebhooksListError, type WebhooksListErrors, type WebhooksListResponse, type WebhooksListResponses, type WebhooksReplayData, type WebhooksReplayError, type WebhooksReplayErrors, type WebhooksReplayResponse, type WebhooksReplayResponses, type WebhooksUpdateData, type WebhooksUpdateError, type WebhooksUpdateErrors, type WebhooksUpdateHeadersData, type WebhooksUpdateHeadersError, type WebhooksUpdateHeadersErrors, type WebhooksUpdateHeadersResponse, type WebhooksUpdateHeadersResponses, type WebhooksUpdateResponse, type WebhooksUpdateResponses, type Workspace, type WorkspaceGetData, type WorkspaceGetError, type WorkspaceGetErrors, type WorkspaceGetResponse, type WorkspaceGetResponses, type WorkspaceMembersData, type WorkspaceMembersError, type WorkspaceMembersErrors, type WorkspaceMembersResponse, type WorkspaceMembersResponses, agentAttachHuman, agentSignUp, agentVerify, appPasswordsCreate, appPasswordsList, appPasswordsRevoke, attachmentsDownloadUrl, attachmentsUpload, calendarCreateEvent, calendarDeleteEvent, calendarGet, calendarGetAgenda, calendarGetEvent, calendarListEventInstances, calendarListEvents, calendarRespondToEvent, calendarUpdate, calendarUpdateEvent, client, createClient, createConfig, domainsCreate, domainsDelete, domainsGet, domainsGetSetupLink, domainsList, domainsUpdate, domainsVerify, domainsZoneFile, draftsCancelSchedule, draftsCreate, draftsDelete, draftsGet, draftsList, draftsRemoveAttachment, draftsSchedule, draftsSend, draftsUpdate, eventsGet, eventsList, identitiesAccessCreate, identitiesAccessDelete, identitiesAccessGet, identitiesCreate, identitiesDelete, identitiesGet, identitiesList, identitiesReceiveRulesCreate, identitiesReceiveRulesDelete, identitiesReceiveRulesGet, identitiesSendRulesCreate, identitiesSendRulesDelete, identitiesSendRulesGet, identitiesSuspendTenant, identitiesUpdate, keysCreate, keysGet, keysList, keysRevoke, keysUpdate, labelsCreate, labelsDelete, labelsList, labelsUpdate, mailboxesChanges, mailboxesEmptyTrash, mailboxesList, mailboxesListFolder, messagesAct, messagesForward, messagesGet, messagesListInThread, messagesRaw, messagesReply, messagesReplyAll, messagesRespondToInvitation, messagesSearch, messagesSend, messagesUndo, messagesUpdate, metricsQuery, routingCreate, routingDelete, routingList, routingUpdate, threadsGet, threadsLabelsCreate, threadsLabelsDelete, threadsLabelsGet, threadsList, threadsUpdate, verifyWebhook, webhooksCreate, webhooksDelete, webhooksDeliveries, webhooksGet, webhooksGetHeaders, webhooksList, webhooksReplay, webhooksUpdate, webhooksUpdateHeaders, workspaceGet, workspaceMembers };
5846
+ export { type Address, type AgentAttachHumanData, type AgentAttachHumanError, type AgentAttachHumanErrors, type AgentAttachHumanResponse, type AgentAttachHumanResponses, type AgentSignUpData, type AgentSignUpError, type AgentSignUpErrors, type AgentSignUpResponse, type AgentSignUpResponses, type AgentSignup, type AgentVerified, type AgentVerifyData, type AgentVerifyError, type AgentVerifyErrors, type AgentVerifyResponse, type AgentVerifyResponses, type ApiKey, type AppPassword, type AppPasswordsCreateData, type AppPasswordsCreateError, type AppPasswordsCreateErrors, type AppPasswordsCreateResponse, type AppPasswordsCreateResponses, type AppPasswordsListData, type AppPasswordsListError, type AppPasswordsListErrors, type AppPasswordsListResponse, type AppPasswordsListResponses, type AppPasswordsRevokeData, type AppPasswordsRevokeError, type AppPasswordsRevokeErrors, type AppPasswordsRevokeResponse, type AppPasswordsRevokeResponses, type Attachment, type AttachmentUrl, type AttachmentsDownloadUrlData, type AttachmentsDownloadUrlError, type AttachmentsDownloadUrlErrors, type AttachmentsDownloadUrlResponse, type AttachmentsDownloadUrlResponses, type AttachmentsUploadData, type AttachmentsUploadError, type AttachmentsUploadErrors, type AttachmentsUploadResponse, type AttachmentsUploadResponses, type Calendar, type CalendarCreateEventData, type CalendarCreateEventError, type CalendarCreateEventErrors, type CalendarCreateEventResponse, type CalendarCreateEventResponses, type CalendarDeleteEventData, type CalendarDeleteEventError, type CalendarDeleteEventErrors, type CalendarDeleteEventResponse, type CalendarDeleteEventResponses, type CalendarEvent, type CalendarGetAgendaData, type CalendarGetAgendaError, type CalendarGetAgendaErrors, type CalendarGetAgendaResponse, type CalendarGetAgendaResponses, type CalendarGetData, type CalendarGetError, type CalendarGetErrors, type CalendarGetEventData, type CalendarGetEventError, type CalendarGetEventErrors, type CalendarGetEventResponse, type CalendarGetEventResponses, type CalendarGetResponse, type CalendarGetResponses, type CalendarListEventInstancesData, type CalendarListEventInstancesError, type CalendarListEventInstancesErrors, type CalendarListEventInstancesResponse, type CalendarListEventInstancesResponses, type CalendarListEventsData, type CalendarListEventsError, type CalendarListEventsErrors, type CalendarListEventsResponse, type CalendarListEventsResponses, type CalendarRespondToEventData, type CalendarRespondToEventError, type CalendarRespondToEventErrors, type CalendarRespondToEventResponse, type CalendarRespondToEventResponses, type CalendarUpdateData, type CalendarUpdateError, type CalendarUpdateErrors, type CalendarUpdateEventData, type CalendarUpdateEventError, type CalendarUpdateEventErrors, type CalendarUpdateEventResponse, type CalendarUpdateEventResponses, type CalendarUpdateResponse, type CalendarUpdateResponses, type ClientOptions, type CreateClientConfig, type Deleted, type Delivery, type DnsRecord, type Domain, type DomainDetail, type DomainsCreateData, type DomainsCreateError, type DomainsCreateErrors, type DomainsCreateResponse, type DomainsCreateResponses, type DomainsDeleteData, type DomainsDeleteError, type DomainsDeleteErrors, type DomainsDeleteResponse, type DomainsDeleteResponses, type DomainsGetData, type DomainsGetError, type DomainsGetErrors, type DomainsGetResponse, type DomainsGetResponses, type DomainsGetSetupLinkData, type DomainsGetSetupLinkError, type DomainsGetSetupLinkErrors, type DomainsGetSetupLinkResponse, type DomainsGetSetupLinkResponses, type DomainsListData, type DomainsListError, type DomainsListErrors, type DomainsListResponse, type DomainsListResponses, type DomainsUpdateData, type DomainsUpdateError, type DomainsUpdateErrors, type DomainsUpdateResponse, type DomainsUpdateResponses, type DomainsVerifyData, type DomainsVerifyError, type DomainsVerifyErrors, type DomainsVerifyResponse, type DomainsVerifyResponses, type DomainsZoneFileData, type DomainsZoneFileError, type DomainsZoneFileErrors, type DomainsZoneFileResponse, type DomainsZoneFileResponses, type Draft, type DraftsCancelScheduleData, type DraftsCancelScheduleError, type DraftsCancelScheduleErrors, type DraftsCancelScheduleResponse, type DraftsCancelScheduleResponses, type DraftsCreateData, type DraftsCreateError, type DraftsCreateErrors, type DraftsCreateResponse, type DraftsCreateResponses, type DraftsDeleteData, type DraftsDeleteError, type DraftsDeleteErrors, type DraftsDeleteResponse, type DraftsDeleteResponses, type DraftsGetData, type DraftsGetError, type DraftsGetErrors, type DraftsGetResponse, type DraftsGetResponses, type DraftsListData, type DraftsListError, type DraftsListErrors, type DraftsListResponse, type DraftsListResponses, type DraftsRemoveAttachmentData, type DraftsRemoveAttachmentError, type DraftsRemoveAttachmentErrors, type DraftsRemoveAttachmentResponse, type DraftsRemoveAttachmentResponses, type DraftsScheduleData, type DraftsScheduleError, type DraftsScheduleErrors, type DraftsScheduleResponse, type DraftsScheduleResponses, type DraftsSendData, type DraftsSendError, type DraftsSendErrors, type DraftsSendResponse, type DraftsSendResponses, type DraftsUpdateData, type DraftsUpdateError, type DraftsUpdateErrors, type DraftsUpdateResponse, type DraftsUpdateResponses, type Emptied, type Error, type Event, type EventResponse, type EventsGetData, type EventsGetError, type EventsGetErrors, type EventsGetResponse, type EventsGetResponses, type EventsListData, type EventsListError, type EventsListErrors, type EventsListResponse, type EventsListResponses, type EventsStreamData, type EventsStreamError, type EventsStreamErrors, type EventsStreamResponse, type EventsStreamResponses, type IdentitiesAccessCreateData, type IdentitiesAccessCreateError, type IdentitiesAccessCreateErrors, type IdentitiesAccessCreateResponse, type IdentitiesAccessCreateResponses, type IdentitiesAccessDeleteData, type IdentitiesAccessDeleteError, type IdentitiesAccessDeleteErrors, type IdentitiesAccessDeleteResponse, type IdentitiesAccessDeleteResponses, type IdentitiesAccessGetData, type IdentitiesAccessGetError, type IdentitiesAccessGetErrors, type IdentitiesAccessGetResponse, type IdentitiesAccessGetResponses, type IdentitiesCreateData, type IdentitiesCreateError, type IdentitiesCreateErrors, type IdentitiesCreateResponse, type IdentitiesCreateResponses, type IdentitiesDeleteData, type IdentitiesDeleteError, type IdentitiesDeleteErrors, type IdentitiesDeleteResponse, type IdentitiesDeleteResponses, type IdentitiesGetData, type IdentitiesGetError, type IdentitiesGetErrors, type IdentitiesGetResponse, type IdentitiesGetResponses, type IdentitiesListData, type IdentitiesListError, type IdentitiesListErrors, type IdentitiesListResponse, type IdentitiesListResponses, type IdentitiesReceiveRulesCreateData, type IdentitiesReceiveRulesCreateError, type IdentitiesReceiveRulesCreateErrors, type IdentitiesReceiveRulesCreateResponse, type IdentitiesReceiveRulesCreateResponses, type IdentitiesReceiveRulesDeleteData, type IdentitiesReceiveRulesDeleteError, type IdentitiesReceiveRulesDeleteErrors, type IdentitiesReceiveRulesDeleteResponse, type IdentitiesReceiveRulesDeleteResponses, type IdentitiesReceiveRulesGetData, type IdentitiesReceiveRulesGetError, type IdentitiesReceiveRulesGetErrors, type IdentitiesReceiveRulesGetResponse, type IdentitiesReceiveRulesGetResponses, type IdentitiesSendRulesCreateData, type IdentitiesSendRulesCreateError, type IdentitiesSendRulesCreateErrors, type IdentitiesSendRulesCreateResponse, type IdentitiesSendRulesCreateResponses, type IdentitiesSendRulesDeleteData, type IdentitiesSendRulesDeleteError, type IdentitiesSendRulesDeleteErrors, type IdentitiesSendRulesDeleteResponse, type IdentitiesSendRulesDeleteResponses, type IdentitiesSendRulesGetData, type IdentitiesSendRulesGetError, type IdentitiesSendRulesGetErrors, type IdentitiesSendRulesGetResponse, type IdentitiesSendRulesGetResponses, type IdentitiesSuspendTenantData, type IdentitiesSuspendTenantError, type IdentitiesSuspendTenantErrors, type IdentitiesSuspendTenantResponse, type IdentitiesSuspendTenantResponses, type IdentitiesUpdateData, type IdentitiesUpdateError, type IdentitiesUpdateErrors, type IdentitiesUpdateResponse, type IdentitiesUpdateResponses, type Identity, type Invitation, type InvitationResponse, type KeysCreateData, type KeysCreateError, type KeysCreateErrors, type KeysCreateResponse, type KeysCreateResponses, type KeysGetData, type KeysGetError, type KeysGetErrors, type KeysGetResponse, type KeysGetResponses, type KeysListData, type KeysListError, type KeysListErrors, type KeysListResponse, type KeysListResponses, type KeysRevokeData, type KeysRevokeError, type KeysRevokeErrors, type KeysRevokeResponse, type KeysRevokeResponses, type KeysUpdateData, type KeysUpdateError, type KeysUpdateErrors, type KeysUpdateResponse, type KeysUpdateResponses, type Label, type LabelRemoved, type LabelsCreateData, type LabelsCreateError, type LabelsCreateErrors, type LabelsCreateResponse, type LabelsCreateResponses, type LabelsDeleteData, type LabelsDeleteError, type LabelsDeleteErrors, type LabelsDeleteResponse, type LabelsDeleteResponses, type LabelsListData, type LabelsListError, type LabelsListErrors, type LabelsListResponse, type LabelsListResponses, type LabelsUpdateData, type LabelsUpdateError, type LabelsUpdateErrors, type LabelsUpdateResponse, type LabelsUpdateResponses, type Mailbox, type MailboxAccess, type MailboxChange, type MailboxesChangesData, type MailboxesChangesError, type MailboxesChangesErrors, type MailboxesChangesResponse, type MailboxesChangesResponses, type MailboxesEmptyTrashData, type MailboxesEmptyTrashError, type MailboxesEmptyTrashErrors, type MailboxesEmptyTrashResponse, type MailboxesEmptyTrashResponses, type MailboxesListData, type MailboxesListError, type MailboxesListErrors, type MailboxesListFolderData, type MailboxesListFolderError, type MailboxesListFolderErrors, type MailboxesListFolderResponse, type MailboxesListFolderResponses, type MailboxesListResponse, type MailboxesListResponses, type Me, type MeGetData, type MeGetError, type MeGetErrors, type MeGetResponse, type MeGetResponses, type Member, type Message, type MessageListItem, type MessagesActData, type MessagesActError, type MessagesActErrors, type MessagesActResponse, type MessagesActResponses, type MessagesForwardData, type MessagesForwardError, type MessagesForwardErrors, type MessagesForwardResponse, type MessagesForwardResponses, type MessagesGetData, type MessagesGetError, type MessagesGetErrors, type MessagesGetResponse, type MessagesGetResponses, type MessagesListInThreadData, type MessagesListInThreadError, type MessagesListInThreadErrors, type MessagesListInThreadResponse, type MessagesListInThreadResponses, type MessagesRawData, type MessagesRawError, type MessagesRawErrors, type MessagesRawResponse, type MessagesRawResponses, type MessagesReplyAllData, type MessagesReplyAllError, type MessagesReplyAllErrors, type MessagesReplyAllResponse, type MessagesReplyAllResponses, type MessagesReplyData, type MessagesReplyError, type MessagesReplyErrors, type MessagesReplyResponse, type MessagesReplyResponses, type MessagesRespondToInvitationData, type MessagesRespondToInvitationError, type MessagesRespondToInvitationErrors, type MessagesRespondToInvitationResponse, type MessagesRespondToInvitationResponses, type MessagesSearchData, type MessagesSearchError, type MessagesSearchErrors, type MessagesSearchResponse, type MessagesSearchResponses, type MessagesSendData, type MessagesSendError, type MessagesSendErrors, type MessagesSendResponse, type MessagesSendResponses, type MessagesUndoData, type MessagesUndoError, type MessagesUndoErrors, type MessagesUndoResponse, type MessagesUndoResponses, type MessagesUpdateData, type MessagesUpdateError, type MessagesUpdateErrors, type MessagesUpdateResponse, type MessagesUpdateResponses, type Metrics, type MetricsQueryData, type MetricsQueryError, type MetricsQueryErrors, type MetricsQueryResponse, type MetricsQueryResponses, type Options, type ReceiveRuleRemoved, type ReceiveRules, type Replayed, type Restored, type Revoked, type RoutingCreateData, type RoutingCreateError, type RoutingCreateErrors, type RoutingCreateResponse, type RoutingCreateResponses, type RoutingDeleteData, type RoutingDeleteError, type RoutingDeleteErrors, type RoutingDeleteResponse, type RoutingDeleteResponses, type RoutingListData, type RoutingListError, type RoutingListErrors, type RoutingListResponse, type RoutingListResponses, type RoutingRule, type RoutingUpdateData, type RoutingUpdateError, type RoutingUpdateErrors, type RoutingUpdateResponse, type RoutingUpdateResponses, SIGNATURE_HEADER, type SearchHit, type SendRuleRemoved, type SendRules, type Sent, type SetupLink, TIMESTAMP_HEADER, type TenantSuspended, type Thread, type ThreadsGetData, type ThreadsGetError, type ThreadsGetErrors, type ThreadsGetResponse, type ThreadsGetResponses, type ThreadsLabelsCreateData, type ThreadsLabelsCreateError, type ThreadsLabelsCreateErrors, type ThreadsLabelsCreateResponse, type ThreadsLabelsCreateResponses, type ThreadsLabelsDeleteData, type ThreadsLabelsDeleteError, type ThreadsLabelsDeleteErrors, type ThreadsLabelsDeleteResponse, type ThreadsLabelsDeleteResponses, type ThreadsLabelsGetData, type ThreadsLabelsGetError, type ThreadsLabelsGetErrors, type ThreadsLabelsGetResponse, type ThreadsLabelsGetResponses, type ThreadsListData, type ThreadsListError, type ThreadsListErrors, type ThreadsListResponse, type ThreadsListResponses, type ThreadsUpdateData, type ThreadsUpdateError, type ThreadsUpdateErrors, type ThreadsUpdateResponse, type ThreadsUpdateResponses, type Undo, type UploadedAttachment, type Verification, type Webhook, type WebhookCreated, type WebhookEnvelope, type WebhookHeaders, type WebhooksCreateData, type WebhooksCreateError, type WebhooksCreateErrors, type WebhooksCreateResponse, type WebhooksCreateResponses, type WebhooksDeleteData, type WebhooksDeleteError, type WebhooksDeleteErrors, type WebhooksDeleteResponse, type WebhooksDeleteResponses, type WebhooksDeliveriesData, type WebhooksDeliveriesError, type WebhooksDeliveriesErrors, type WebhooksDeliveriesResponse, type WebhooksDeliveriesResponses, type WebhooksGetData, type WebhooksGetError, type WebhooksGetErrors, type WebhooksGetHeadersData, type WebhooksGetHeadersError, type WebhooksGetHeadersErrors, type WebhooksGetHeadersResponse, type WebhooksGetHeadersResponses, type WebhooksGetResponse, type WebhooksGetResponses, type WebhooksListData, type WebhooksListError, type WebhooksListErrors, type WebhooksListResponse, type WebhooksListResponses, type WebhooksReplayData, type WebhooksReplayError, type WebhooksReplayErrors, type WebhooksReplayResponse, type WebhooksReplayResponses, type WebhooksUpdateData, type WebhooksUpdateError, type WebhooksUpdateErrors, type WebhooksUpdateHeadersData, type WebhooksUpdateHeadersError, type WebhooksUpdateHeadersErrors, type WebhooksUpdateHeadersResponse, type WebhooksUpdateHeadersResponses, type WebhooksUpdateResponse, type WebhooksUpdateResponses, type Workspace, type WorkspaceGetData, type WorkspaceGetError, type WorkspaceGetErrors, type WorkspaceGetResponse, type WorkspaceGetResponses, type WorkspaceMembersData, type WorkspaceMembersError, type WorkspaceMembersErrors, type WorkspaceMembersResponse, type WorkspaceMembersResponses, agentAttachHuman, agentSignUp, agentVerify, appPasswordsCreate, appPasswordsList, appPasswordsRevoke, attachmentsDownloadUrl, attachmentsUpload, calendarCreateEvent, calendarDeleteEvent, calendarGet, calendarGetAgenda, calendarGetEvent, calendarListEventInstances, calendarListEvents, calendarRespondToEvent, calendarUpdate, calendarUpdateEvent, client, createClient, createConfig, domainsCreate, domainsDelete, domainsGet, domainsGetSetupLink, domainsList, domainsUpdate, domainsVerify, domainsZoneFile, draftsCancelSchedule, draftsCreate, draftsDelete, draftsGet, draftsList, draftsRemoveAttachment, draftsSchedule, draftsSend, draftsUpdate, eventsGet, eventsList, eventsStream, identitiesAccessCreate, identitiesAccessDelete, identitiesAccessGet, identitiesCreate, identitiesDelete, identitiesGet, identitiesList, identitiesReceiveRulesCreate, identitiesReceiveRulesDelete, identitiesReceiveRulesGet, identitiesSendRulesCreate, identitiesSendRulesDelete, identitiesSendRulesGet, identitiesSuspendTenant, identitiesUpdate, keysCreate, keysGet, keysList, keysRevoke, keysUpdate, labelsCreate, labelsDelete, labelsList, labelsUpdate, mailboxesChanges, mailboxesEmptyTrash, mailboxesList, mailboxesListFolder, meGet, messagesAct, messagesForward, messagesGet, messagesListInThread, messagesRaw, messagesReply, messagesReplyAll, messagesRespondToInvitation, messagesSearch, messagesSend, messagesUndo, messagesUpdate, metricsQuery, routingCreate, routingDelete, routingList, routingUpdate, threadsGet, threadsLabelsCreate, threadsLabelsDelete, threadsLabelsGet, threadsList, threadsUpdate, verifyWebhook, webhooksCreate, webhooksDelete, webhooksDeliveries, webhooksGet, webhooksGetHeaders, webhooksList, webhooksReplay, webhooksUpdate, webhooksUpdateHeaders, workspaceGet, workspaceMembers };