@lessly/sdk-app 44.0.0 → 44.1.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.
Files changed (59) hide show
  1. package/dist/analytics/index.d.cts +1 -1
  2. package/dist/analytics/index.d.ts +1 -1
  3. package/dist/brain/index.cjs +0 -5
  4. package/dist/brain/index.cjs.map +1 -1
  5. package/dist/brain/index.d.cts +2 -6
  6. package/dist/brain/index.d.ts +2 -6
  7. package/dist/brain/index.js +1 -5
  8. package/dist/brain/index.js.map +1 -1
  9. package/dist/{client.gen-BsjxuDLy.d.cts → client.gen-DlCqQAIZ.d.cts} +1392 -94
  10. package/dist/{client.gen-BsjxuDLy.d.ts → client.gen-DlCqQAIZ.d.ts} +1392 -94
  11. package/dist/consent/index.d.cts +1 -1
  12. package/dist/consent/index.d.ts +1 -1
  13. package/dist/content/index.cjs +96 -0
  14. package/dist/content/index.cjs.map +1 -0
  15. package/dist/content/index.d.cts +76 -0
  16. package/dist/content/index.d.ts +76 -0
  17. package/dist/content/index.js +77 -0
  18. package/dist/content/index.js.map +1 -0
  19. package/dist/deployment/index.d.cts +1 -1
  20. package/dist/deployment/index.d.ts +1 -1
  21. package/dist/index.cjs +406 -13
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +406 -13
  26. package/dist/index.js.map +1 -1
  27. package/dist/mail/index.d.cts +2 -2
  28. package/dist/mail/index.d.ts +2 -2
  29. package/dist/observe/index.d.cts +1 -1
  30. package/dist/observe/index.d.ts +1 -1
  31. package/dist/organization/index.d.cts +1 -1
  32. package/dist/organization/index.d.ts +1 -1
  33. package/dist/playground/index.cjs +66 -0
  34. package/dist/playground/index.cjs.map +1 -0
  35. package/dist/playground/index.d.cts +52 -0
  36. package/dist/playground/index.d.ts +52 -0
  37. package/dist/playground/index.js +53 -0
  38. package/dist/playground/index.js.map +1 -0
  39. package/dist/realtime/index.d.cts +1 -1
  40. package/dist/realtime/index.d.ts +1 -1
  41. package/dist/support/index.d.cts +1 -1
  42. package/dist/support/index.d.ts +1 -1
  43. package/dist/tracking/index.d.cts +1 -1
  44. package/dist/tracking/index.d.ts +1 -1
  45. package/dist/users/index.d.cts +1 -1
  46. package/dist/users/index.d.ts +1 -1
  47. package/dist/waitlist/index.d.cts +1 -1
  48. package/dist/waitlist/index.d.ts +1 -1
  49. package/package.json +12 -2
  50. package/src/gen/bindings.gen.ts +406 -13
  51. package/src/gen/brain/index.ts +1 -1
  52. package/src/gen/brain/queryOptions.gen.ts +0 -7
  53. package/src/gen/client.gen.ts +114 -5
  54. package/src/gen/content/index.ts +3 -0
  55. package/src/gen/content/queryOptions.gen.ts +119 -0
  56. package/src/gen/manifest.gen.ts +1 -1
  57. package/src/gen/playground/index.ts +3 -0
  58. package/src/gen/playground/queryOptions.gen.ts +86 -0
  59. package/src/gen/types.gen.ts +1500 -187
@@ -1028,98 +1028,6 @@ snapshotId: string
1028
1028
  preRestoreSnapshotId: (string | null)
1029
1029
  } | null)
1030
1030
 
1031
- export interface BrainUsageReportInput {
1032
- /**
1033
- * How many UTC days of this product's ledger to return, ending today (default 30, max 90)
1034
- */
1035
- days?: number
1036
- }
1037
-
1038
- export interface BrainUsageReportOutput {
1039
- note: string
1040
- /**
1041
- * Brain's own ledger, for THIS product only
1042
- */
1043
- product: {
1044
- /**
1045
- * Inclusive UTC end of the window (today), YYYY-MM-DD
1046
- */
1047
- to: string
1048
- /**
1049
- * The window actually used, after clamping
1050
- */
1051
- days: number
1052
- /**
1053
- * Inclusive UTC start of the window, YYYY-MM-DD
1054
- */
1055
- from: string
1056
- rows: {
1057
- /**
1058
- * 'sync' | 'batch'; '' when the push carried none
1059
- */
1060
- mode: string
1061
- /**
1062
- * Manifest meter slug, e.g. llm-tokens
1063
- */
1064
- meter: string
1065
- /**
1066
- * Model dimension; '' when the push carried none
1067
- */
1068
- model: string
1069
- /**
1070
- * How many record() calls landed in this slice
1071
- */
1072
- events: number
1073
- /**
1074
- * Tokens we metered for this slice, delivered or not
1075
- */
1076
- tokens: number
1077
- /**
1078
- * Purpose dimension; '' when the push carried none
1079
- */
1080
- purpose: string
1081
- /**
1082
- * UTC calendar day, YYYY-MM-DD
1083
- */
1084
- usage_date: string
1085
- /**
1086
- * Of those events, how many billing did not accept
1087
- */
1088
- delivery_failed: number
1089
- }[]
1090
- /**
1091
- * The rows rolled up per meter across the whole window
1092
- */
1093
- totals: {
1094
- meter: string
1095
- events: number
1096
- tokens: number
1097
- delivery_failed: number
1098
- }[]
1099
- product_id: string
1100
- }
1101
- /**
1102
- * The platform billing aggregate for the whole ORG; null if it could not be read
1103
- */
1104
- platform: ({
1105
- plan: string
1106
- scope: "org"
1107
- meters: {
1108
- unit?: string
1109
- used?: number
1110
- limit?: (number | null)
1111
- remaining?: (number | null)
1112
- unlimited?: boolean
1113
- meter_slug: string
1114
- }[]
1115
- org_id: string
1116
- } | null)
1117
- /**
1118
- * Why the platform aggregate is null; null when it was read successfully
1119
- */
1120
- platform_error: (string | null)
1121
- }
1122
-
1123
1031
  export interface ConsentConfigCookieDomainUpsertInput {
1124
1032
  cookieDomain: ("" | null | string)
1125
1033
  }
@@ -1369,136 +1277,1320 @@ category: ("necessary" | "preferences" | "statistics" | "marketing")
1369
1277
  isSystem?: boolean
1370
1278
  createdAt: string
1371
1279
  updatedAt: string
1372
- catalogKey?: (string | null)
1373
- orderIndex: number
1374
- privacyUrl: (string | null)
1375
- description: string
1376
- }[]
1377
-
1378
- export interface ConsentProvidersUpdateInput {
1280
+ catalogKey?: (string | null)
1281
+ orderIndex: number
1282
+ privacyUrl: (string | null)
1283
+ description: string
1284
+ }[]
1285
+
1286
+ export interface ConsentProvidersUpdateInput {
1287
+ /**
1288
+ * Provider id
1289
+ */
1290
+ id: string
1291
+ name?: string
1292
+ /**
1293
+ * If provided, REPLACES the hosts list. Omit to leave unchanged.
1294
+ *
1295
+ * @maxItems 50
1296
+ */
1297
+ hosts?: string[]
1298
+ /**
1299
+ * If provided, REPLACES the whole cookies set for this provider. Omit to leave unchanged.
1300
+ *
1301
+ * @maxItems 200
1302
+ */
1303
+ cookies?: {
1304
+ /**
1305
+ * Cookie/storage key name, e.g. "_ga"
1306
+ */
1307
+ name: string
1308
+ /**
1309
+ * Storage mechanism — matches CHECK constraint on consent_cookies.type
1310
+ */
1311
+ type: ("http_cookie" | "local_storage" | "session_storage")
1312
+ /**
1313
+ * Human-readable description of why the cookie is set
1314
+ */
1315
+ purpose: string
1316
+ /**
1317
+ * Duration like "2 years", "session", "30 days"
1318
+ */
1319
+ storageDuration: string
1320
+ }[]
1321
+ /**
1322
+ * Consent category bucket — matches CHECK constraint on consent_providers.category
1323
+ */
1324
+ category?: ("necessary" | "preferences" | "statistics" | "marketing")
1325
+ orderIndex?: number
1326
+ /**
1327
+ * null clears the field, undefined leaves it unchanged
1328
+ */
1329
+ privacyUrl?: (string | null)
1330
+ /**
1331
+ * Pass empty string to clear; undefined leaves unchanged
1332
+ */
1333
+ description?: string
1334
+ }
1335
+
1336
+ export interface ConsentProvidersUpdateOutput {
1337
+ id: string
1338
+ name: string
1339
+ hosts: string[]
1340
+ cookies: {
1341
+ id: string
1342
+ name: string
1343
+ type: ("http_cookie" | "local_storage" | "session_storage")
1344
+ purpose: string
1345
+ storageDuration: string
1346
+ }[]
1347
+ category: ("necessary" | "preferences" | "statistics" | "marketing")
1348
+ isSystem?: boolean
1349
+ createdAt: string
1350
+ updatedAt: string
1351
+ catalogKey?: (string | null)
1352
+ orderIndex: number
1353
+ privacyUrl: (string | null)
1354
+ description: string
1355
+ }
1356
+
1357
+ export interface ConsentRecordsExportInput {
1358
+ /**
1359
+ * Inclusive upper bound for created_at, ISO-8601. Example: "2026-01-01T00:00:00Z". Omit for "up to now".
1360
+ */
1361
+ to?: string
1362
+ /**
1363
+ * Inclusive lower bound for created_at (server clock), ISO-8601. Example: "2025-01-01T00:00:00Z". Omit for "from the beginning".
1364
+ */
1365
+ from?: string
1366
+ /**
1367
+ * Maximum rows to return inline. Default 1000, hard cap 10000. If more rows match, the response sets truncated=true and includes download_url for the full dataset via HTTP.
1368
+ */
1369
+ limit?: number
1370
+ /**
1371
+ * DSAR (Art. 15) lookup: a visitor-presented record_id (the UUID from their consent cookie). When set, the export is filtered to that visitor's full decision chain (transitive closure over replaces_id), scoped to the current product. Omit for a product-wide admin export.
1372
+ */
1373
+ record_id?: string
1374
+ }
1375
+
1376
+ export interface ConsentRecordsExportOutput {
1377
+ csv: string
1378
+ filters: {
1379
+ to: (string | null)
1380
+ from: (string | null)
1381
+ limit: number
1382
+ }
1383
+ truncated: boolean
1384
+ total_count: number
1385
+ download_url?: string
1386
+ returned_count: number
1387
+ }
1388
+
1389
+ export interface ConsentStatsGetInput {
1390
+ /**
1391
+ * Time window for aggregation in days, e.g. "30d". Omit to use the server default (30d). Maximum: 365d.
1392
+ */
1393
+ range?: string
1394
+ }
1395
+
1396
+ export interface ConsentStatsGetOutput {
1397
+ range: {
1398
+ to: string
1399
+ from: string
1400
+ }
1401
+ total: number
1402
+ custom_pct: number
1403
+ by_category: {
1404
+ marketing_pct: number
1405
+ statistics_pct: number
1406
+ preferences_pct: number
1407
+ }
1408
+ deny_all_pct: number
1409
+ accept_all_pct: number
1410
+ }
1411
+
1412
+ export interface ContentChannelsGetInput {
1413
+ /**
1414
+ * The channel id returned by content_channels_list.
1415
+ */
1416
+ id: string
1417
+ }
1418
+
1419
+ export interface ContentChannelsGetOutput {
1420
+ /**
1421
+ * Channel id — pass this to content_publications_schedule.
1422
+ */
1423
+ id: string
1424
+ /**
1425
+ * Social network: linkedin, x, youtube, instagram or reddit.
1426
+ */
1427
+ network: string
1428
+ /**
1429
+ * ISO-8601 creation time.
1430
+ */
1431
+ createdAt: string
1432
+ /**
1433
+ * ISO-8601 time of the last change.
1434
+ */
1435
+ updatedAt: string
1436
+ /**
1437
+ * Human label for the channel.
1438
+ */
1439
+ displayName: string
1440
+ /**
1441
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1442
+ */
1443
+ subjectType: ("member" | "organization")
1444
+ /**
1445
+ * What the channel accepts and what it costs: maxTextLength, maxMedia, supportsVideo, supportsLink, costPerPostUsd, costPerLinkPostUsd, dailyPostCeiling, ceilingIsRuntimeData. Read maxTextLength before writing a per-channel text variant.
1446
+ */
1447
+ capabilities: {
1448
+ [k: string]: unknown
1449
+ }
1450
+ /**
1451
+ * Platform connector connection backing this channel, or null for a reminder channel that needs none. This toolkit never holds social credentials.
1452
+ */
1453
+ connectionId: (string | null)
1454
+ /**
1455
+ * How the post reaches the network: auto (this API publishes it) or reminder (the system prepares it and notifies a person, who publishes by hand). Every seeded channel is reminder.
1456
+ */
1457
+ deliveryMode: ("auto" | "reminder")
1458
+ }
1459
+
1460
+ export interface ContentChannelsListInput {
1461
+ /**
1462
+ * Maximum number of channels to return (1-100, default 50).
1463
+ */
1464
+ limit?: number
1465
+ /**
1466
+ * How many channels to skip, for paging.
1467
+ */
1468
+ offset?: number
1469
+ /**
1470
+ * Return only channels on this network.
1471
+ */
1472
+ network?: ("linkedin" | "x" | "youtube" | "instagram" | "reddit")
1473
+ }
1474
+
1475
+ export interface ContentChannelsListOutput {
1476
+ /**
1477
+ * Total number of matching channels, ignoring paging.
1478
+ */
1479
+ total: number
1480
+ /**
1481
+ * The page of channels, ordered by network.
1482
+ */
1483
+ channels: {
1484
+ /**
1485
+ * Channel id — pass this to content_publications_schedule.
1486
+ */
1487
+ id: string
1488
+ /**
1489
+ * Social network: linkedin, x, youtube, instagram or reddit.
1490
+ */
1491
+ network: string
1492
+ /**
1493
+ * ISO-8601 creation time.
1494
+ */
1495
+ createdAt: string
1496
+ /**
1497
+ * ISO-8601 time of the last change.
1498
+ */
1499
+ updatedAt: string
1500
+ /**
1501
+ * Human label for the channel.
1502
+ */
1503
+ displayName: string
1504
+ /**
1505
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1506
+ */
1507
+ subjectType: ("member" | "organization")
1508
+ /**
1509
+ * What the channel accepts and what it costs: maxTextLength, maxMedia, supportsVideo, supportsLink, costPerPostUsd, costPerLinkPostUsd, dailyPostCeiling, ceilingIsRuntimeData. Read maxTextLength before writing a per-channel text variant.
1510
+ */
1511
+ capabilities: {
1512
+ [k: string]: unknown
1513
+ }
1514
+ /**
1515
+ * Platform connector connection backing this channel, or null for a reminder channel that needs none. This toolkit never holds social credentials.
1516
+ */
1517
+ connectionId: (string | null)
1518
+ /**
1519
+ * How the post reaches the network: auto (this API publishes it) or reminder (the system prepares it and notifies a person, who publishes by hand). Every seeded channel is reminder.
1520
+ */
1521
+ deliveryMode: ("auto" | "reminder")
1522
+ }[]
1523
+ }
1524
+
1525
+ export interface ContentChannelsUpdateInput {
1526
+ /**
1527
+ * The channel id returned by content_channels_list.
1528
+ */
1529
+ id: string
1530
+ /**
1531
+ * New human label for the channel. Omit to keep the current one.
1532
+ */
1533
+ displayName?: string
1534
+ /**
1535
+ * Override individual capability fields — a known ceiling beats the hand-filled constant. Merges over the existing descriptor; fields you omit keep their current values.
1536
+ */
1537
+ capabilities?: {
1538
+ [k: string]: unknown
1539
+ }
1540
+ /**
1541
+ * Change how the post reaches the network. Only reminder can be scheduled in this release — no publishing adapter exists yet.
1542
+ */
1543
+ deliveryMode?: ("auto" | "reminder")
1544
+ }
1545
+
1546
+ export interface ContentChannelsUpdateOutput {
1547
+ /**
1548
+ * Channel id — pass this to content_publications_schedule.
1549
+ */
1550
+ id: string
1551
+ /**
1552
+ * Social network: linkedin, x, youtube, instagram or reddit.
1553
+ */
1554
+ network: string
1555
+ /**
1556
+ * ISO-8601 creation time.
1557
+ */
1558
+ createdAt: string
1559
+ /**
1560
+ * ISO-8601 time of the last change.
1561
+ */
1562
+ updatedAt: string
1563
+ /**
1564
+ * Human label for the channel.
1565
+ */
1566
+ displayName: string
1567
+ /**
1568
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1569
+ */
1570
+ subjectType: ("member" | "organization")
1571
+ /**
1572
+ * What the channel accepts and what it costs: maxTextLength, maxMedia, supportsVideo, supportsLink, costPerPostUsd, costPerLinkPostUsd, dailyPostCeiling, ceilingIsRuntimeData. Read maxTextLength before writing a per-channel text variant.
1573
+ */
1574
+ capabilities: {
1575
+ [k: string]: unknown
1576
+ }
1577
+ /**
1578
+ * Platform connector connection backing this channel, or null for a reminder channel that needs none. This toolkit never holds social credentials.
1579
+ */
1580
+ connectionId: (string | null)
1581
+ /**
1582
+ * How the post reaches the network: auto (this API publishes it) or reminder (the system prepares it and notifies a person, who publishes by hand). Every seeded channel is reminder.
1583
+ */
1584
+ deliveryMode: ("auto" | "reminder")
1585
+ }
1586
+
1587
+ export interface ContentPostsApproveInput {
1588
+ /**
1589
+ * The post id returned by content_posts_create.
1590
+ */
1591
+ id: string
1592
+ }
1593
+
1594
+ export interface ContentPostsApproveOutput {
1595
+ /**
1596
+ * Post id.
1597
+ */
1598
+ id: string
1599
+ /**
1600
+ * The current text of the post.
1601
+ */
1602
+ text: string
1603
+ /**
1604
+ * Media references attached to the current version.
1605
+ */
1606
+ media: string[]
1607
+ /**
1608
+ * Identity id of whoever composed the post.
1609
+ */
1610
+ author: string
1611
+ /**
1612
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
1613
+ */
1614
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1615
+ /**
1616
+ * ISO-8601 creation time.
1617
+ */
1618
+ createdAt: string
1619
+ /**
1620
+ * ISO-8601 time of the last change.
1621
+ */
1622
+ updatedAt: string
1623
+ /**
1624
+ * Version number of the current text.
1625
+ */
1626
+ currentVersion: number
1627
+ /**
1628
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
1629
+ */
1630
+ approvedVersion: (number | null)
1631
+ }
1632
+
1633
+ export interface ContentPostsCreateInput {
1634
+ /**
1635
+ * The post text, channel-independent. Per-channel variants come later, at publish time.
1636
+ */
1637
+ text: string
1638
+ /**
1639
+ * Media references attached to the post, in display order. Opaque strings — the toolkit does not upload or resolve them.
1640
+ *
1641
+ * @maxItems 20
1642
+ */
1643
+ media?: []|[string]|[string, string]|[string, string, string]|[string, string, string, string]|[string, string, string, string, string]|[string, string, string, string, string, string]|[string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]
1644
+ }
1645
+
1646
+ export interface ContentPostsCreateOutput {
1647
+ /**
1648
+ * Post id.
1649
+ */
1650
+ id: string
1651
+ /**
1652
+ * The current text of the post.
1653
+ */
1654
+ text: string
1655
+ /**
1656
+ * Media references attached to the current version.
1657
+ */
1658
+ media: string[]
1659
+ /**
1660
+ * Identity id of whoever composed the post.
1661
+ */
1662
+ author: string
1663
+ /**
1664
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
1665
+ */
1666
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1667
+ /**
1668
+ * ISO-8601 creation time.
1669
+ */
1670
+ createdAt: string
1671
+ /**
1672
+ * ISO-8601 time of the last change.
1673
+ */
1674
+ updatedAt: string
1675
+ /**
1676
+ * Version number of the current text.
1677
+ */
1678
+ currentVersion: number
1679
+ /**
1680
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
1681
+ */
1682
+ approvedVersion: (number | null)
1683
+ }
1684
+
1685
+ export interface ContentPostsGetInput {
1686
+ /**
1687
+ * The post id returned by content_posts_create.
1688
+ */
1689
+ id: string
1690
+ }
1691
+
1692
+ export interface ContentPostsGetOutput {
1693
+ /**
1694
+ * Post id.
1695
+ */
1696
+ id: string
1697
+ /**
1698
+ * The current text of the post.
1699
+ */
1700
+ text: string
1701
+ /**
1702
+ * Media references attached to the current version.
1703
+ */
1704
+ media: string[]
1705
+ /**
1706
+ * Identity id of whoever composed the post.
1707
+ */
1708
+ author: string
1709
+ /**
1710
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
1711
+ */
1712
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1713
+ /**
1714
+ * ISO-8601 creation time.
1715
+ */
1716
+ createdAt: string
1717
+ /**
1718
+ * ISO-8601 time of the last change.
1719
+ */
1720
+ updatedAt: string
1721
+ /**
1722
+ * Version number of the current text.
1723
+ */
1724
+ currentVersion: number
1725
+ /**
1726
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
1727
+ */
1728
+ approvedVersion: (number | null)
1729
+ }
1730
+
1731
+ export interface ContentPostsListInput {
1732
+ /**
1733
+ * Maximum number of posts to return (1-100, default 50).
1734
+ */
1735
+ limit?: number
1736
+ /**
1737
+ * How many posts to skip, for paging.
1738
+ */
1739
+ offset?: number
1740
+ /**
1741
+ * Return only posts in this status.
1742
+ */
1743
+ status?: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1744
+ }
1745
+
1746
+ export interface ContentPostsListOutput {
1747
+ /**
1748
+ * The page of posts, newest first.
1749
+ */
1750
+ posts: {
1751
+ /**
1752
+ * Post id.
1753
+ */
1754
+ id: string
1755
+ /**
1756
+ * The current text of the post.
1757
+ */
1758
+ text: string
1759
+ /**
1760
+ * Media references attached to the current version.
1761
+ */
1762
+ media: string[]
1763
+ /**
1764
+ * Identity id of whoever composed the post.
1765
+ */
1766
+ author: string
1767
+ /**
1768
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
1769
+ */
1770
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1771
+ /**
1772
+ * ISO-8601 creation time.
1773
+ */
1774
+ createdAt: string
1775
+ /**
1776
+ * ISO-8601 time of the last change.
1777
+ */
1778
+ updatedAt: string
1779
+ /**
1780
+ * Version number of the current text.
1781
+ */
1782
+ currentVersion: number
1783
+ /**
1784
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
1785
+ */
1786
+ approvedVersion: (number | null)
1787
+ }[]
1788
+ /**
1789
+ * Total number of matching posts, ignoring paging.
1790
+ */
1791
+ total: number
1792
+ }
1793
+
1794
+ export interface ContentPostsSubmitInput {
1795
+ /**
1796
+ * The post id returned by content_posts_create.
1797
+ */
1798
+ id: string
1799
+ }
1800
+
1801
+ export interface ContentPostsSubmitOutput {
1802
+ /**
1803
+ * Post id.
1804
+ */
1805
+ id: string
1806
+ /**
1807
+ * The current text of the post.
1808
+ */
1809
+ text: string
1810
+ /**
1811
+ * Media references attached to the current version.
1812
+ */
1813
+ media: string[]
1814
+ /**
1815
+ * Identity id of whoever composed the post.
1816
+ */
1817
+ author: string
1818
+ /**
1819
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
1820
+ */
1821
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1822
+ /**
1823
+ * ISO-8601 creation time.
1824
+ */
1825
+ createdAt: string
1826
+ /**
1827
+ * ISO-8601 time of the last change.
1828
+ */
1829
+ updatedAt: string
1830
+ /**
1831
+ * Version number of the current text.
1832
+ */
1833
+ currentVersion: number
1834
+ /**
1835
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
1836
+ */
1837
+ approvedVersion: (number | null)
1838
+ }
1839
+
1840
+ export interface ContentPostsUpdateInput {
1841
+ /**
1842
+ * The post id returned by content_posts_create.
1843
+ */
1844
+ id: string
1845
+ /**
1846
+ * Replacement text. Omit to keep the current text.
1847
+ */
1848
+ text?: string
1849
+ /**
1850
+ * Replacement media list (replaces, never merges). Omit to keep the current media.
1851
+ *
1852
+ * @maxItems 20
1853
+ */
1854
+ media?: []|[string]|[string, string]|[string, string, string]|[string, string, string, string]|[string, string, string, string, string]|[string, string, string, string, string, string]|[string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]
1855
+ }
1856
+
1857
+ export interface ContentPostsUpdateOutput {
1858
+ /**
1859
+ * Post id.
1860
+ */
1861
+ id: string
1862
+ /**
1863
+ * The current text of the post.
1864
+ */
1865
+ text: string
1866
+ /**
1867
+ * Media references attached to the current version.
1868
+ */
1869
+ media: string[]
1870
+ /**
1871
+ * Identity id of whoever composed the post.
1872
+ */
1873
+ author: string
1874
+ /**
1875
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
1876
+ */
1877
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
1878
+ /**
1879
+ * ISO-8601 creation time.
1880
+ */
1881
+ createdAt: string
1882
+ /**
1883
+ * ISO-8601 time of the last change.
1884
+ */
1885
+ updatedAt: string
1886
+ /**
1887
+ * Version number of the current text.
1888
+ */
1889
+ currentVersion: number
1890
+ /**
1891
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
1892
+ */
1893
+ approvedVersion: (number | null)
1894
+ }
1895
+
1896
+ export interface ContentPostsVersionsInput {
1897
+ /**
1898
+ * The post id returned by content_posts_create.
1899
+ */
1900
+ id: string
1901
+ }
1902
+
1903
+ export interface ContentPostsVersionsOutput {
1904
+ /**
1905
+ * The post these versions belong to.
1906
+ */
1907
+ postId: string
1908
+ /**
1909
+ * Every version, oldest first.
1910
+ */
1911
+ versions: {
1912
+ /**
1913
+ * The text as it stood at this version.
1914
+ */
1915
+ text: string
1916
+ /**
1917
+ * Media references as they stood at this version.
1918
+ */
1919
+ media: string[]
1920
+ /**
1921
+ * Post the version belongs to.
1922
+ */
1923
+ postId: string
1924
+ /**
1925
+ * Version number, starting at 1.
1926
+ */
1927
+ version: number
1928
+ /**
1929
+ * ISO-8601 time the version was recorded.
1930
+ */
1931
+ createdAt: string
1932
+ /**
1933
+ * Identity id of whoever produced this version.
1934
+ */
1935
+ createdBy: string
1936
+ }[]
1937
+ }
1938
+
1939
+ export interface ContentPublicationsCancelInput {
1940
+ /**
1941
+ * The publication id returned by content_publications_schedule.
1942
+ */
1943
+ id: string
1944
+ }
1945
+
1946
+ export interface ContentPublicationsCancelOutput {
1947
+ /**
1948
+ * Publication id.
1949
+ */
1950
+ id: string
1951
+ /**
1952
+ * The per-channel variant of the text that will be published.
1953
+ */
1954
+ text: string
1955
+ /**
1956
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
1957
+ */
1958
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
1959
+ /**
1960
+ * The post being published.
1961
+ */
1962
+ postId: string
1963
+ /**
1964
+ * How many dispatch attempts have been made.
1965
+ */
1966
+ attempts: number
1967
+ /**
1968
+ * The channel it is published to.
1969
+ */
1970
+ channelId: string
1971
+ /**
1972
+ * ISO-8601 creation time.
1973
+ */
1974
+ createdAt: string
1975
+ /**
1976
+ * The most recent failure, if any.
1977
+ */
1978
+ lastError: (string | null)
1979
+ /**
1980
+ * ISO-8601 time of the last change.
1981
+ */
1982
+ updatedAt: string
1983
+ /**
1984
+ * The network's id for the published post, once known.
1985
+ */
1986
+ externalId: (string | null)
1987
+ /**
1988
+ * URL of the published post, once known.
1989
+ */
1990
+ externalUrl: (string | null)
1991
+ /**
1992
+ * ISO-8601 time it was confirmed published.
1993
+ */
1994
+ publishedAt: (string | null)
1995
+ /**
1996
+ * ISO-8601 time the publication is due.
1997
+ */
1998
+ scheduledAt: string
1999
+ /**
2000
+ * How many reminders have been sent for this publication.
2001
+ */
2002
+ reminderCount: number
2003
+ /**
2004
+ * The key that makes a retry the same publication.
2005
+ */
2006
+ idempotencyKey: string
2007
+ /**
2008
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2009
+ */
2010
+ reminderSentAt: (string | null)
2011
+ }
2012
+
2013
+ export interface ContentPublicationsConfirmInput {
2014
+ /**
2015
+ * The publication id returned by content_publications_schedule.
2016
+ */
2017
+ id: string
2018
+ /**
2019
+ * The network's own id for the post, if known.
2020
+ */
2021
+ externalId?: string
2022
+ /**
2023
+ * URL of the post the person actually published. Worth supplying — it is what identifies the post later.
2024
+ */
2025
+ externalUrl?: string
2026
+ }
2027
+
2028
+ export interface ContentPublicationsConfirmOutput {
2029
+ /**
2030
+ * Publication id.
2031
+ */
2032
+ id: string
2033
+ /**
2034
+ * The per-channel variant of the text that will be published.
2035
+ */
2036
+ text: string
2037
+ /**
2038
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2039
+ */
2040
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2041
+ /**
2042
+ * The post being published.
2043
+ */
2044
+ postId: string
2045
+ /**
2046
+ * How many dispatch attempts have been made.
2047
+ */
2048
+ attempts: number
2049
+ /**
2050
+ * The channel it is published to.
2051
+ */
2052
+ channelId: string
2053
+ /**
2054
+ * ISO-8601 creation time.
2055
+ */
2056
+ createdAt: string
2057
+ /**
2058
+ * The most recent failure, if any.
2059
+ */
2060
+ lastError: (string | null)
2061
+ /**
2062
+ * ISO-8601 time of the last change.
2063
+ */
2064
+ updatedAt: string
2065
+ /**
2066
+ * The network's id for the published post, once known.
2067
+ */
2068
+ externalId: (string | null)
2069
+ /**
2070
+ * URL of the published post, once known.
2071
+ */
2072
+ externalUrl: (string | null)
2073
+ /**
2074
+ * ISO-8601 time it was confirmed published.
2075
+ */
2076
+ publishedAt: (string | null)
2077
+ /**
2078
+ * ISO-8601 time the publication is due.
2079
+ */
2080
+ scheduledAt: string
2081
+ /**
2082
+ * How many reminders have been sent for this publication.
2083
+ */
2084
+ reminderCount: number
2085
+ /**
2086
+ * The key that makes a retry the same publication.
2087
+ */
2088
+ idempotencyKey: string
2089
+ /**
2090
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2091
+ */
2092
+ reminderSentAt: (string | null)
2093
+ }
2094
+
2095
+ export interface ContentPublicationsGetInput {
2096
+ /**
2097
+ * The publication id returned by content_publications_schedule.
2098
+ */
2099
+ id: string
2100
+ }
2101
+
2102
+ export interface ContentPublicationsGetOutput {
2103
+ /**
2104
+ * Publication id.
2105
+ */
2106
+ id: string
2107
+ /**
2108
+ * The per-channel variant of the text that will be published.
2109
+ */
2110
+ text: string
2111
+ /**
2112
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2113
+ */
2114
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2115
+ /**
2116
+ * The post being published.
2117
+ */
2118
+ postId: string
2119
+ /**
2120
+ * How many dispatch attempts have been made.
2121
+ */
2122
+ attempts: number
2123
+ /**
2124
+ * The channel it is published to.
2125
+ */
2126
+ channelId: string
2127
+ /**
2128
+ * ISO-8601 creation time.
2129
+ */
2130
+ createdAt: string
2131
+ /**
2132
+ * The most recent failure, if any.
2133
+ */
2134
+ lastError: (string | null)
2135
+ /**
2136
+ * ISO-8601 time of the last change.
2137
+ */
2138
+ updatedAt: string
2139
+ /**
2140
+ * The network's id for the published post, once known.
2141
+ */
2142
+ externalId: (string | null)
2143
+ /**
2144
+ * URL of the published post, once known.
2145
+ */
2146
+ externalUrl: (string | null)
2147
+ /**
2148
+ * ISO-8601 time it was confirmed published.
2149
+ */
2150
+ publishedAt: (string | null)
2151
+ /**
2152
+ * ISO-8601 time the publication is due.
2153
+ */
2154
+ scheduledAt: string
2155
+ /**
2156
+ * How many reminders have been sent for this publication.
2157
+ */
2158
+ reminderCount: number
2159
+ /**
2160
+ * The key that makes a retry the same publication.
2161
+ */
2162
+ idempotencyKey: string
2163
+ /**
2164
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2165
+ */
2166
+ reminderSentAt: (string | null)
2167
+ }
2168
+
2169
+ export interface ContentPublicationsListInput {
2170
+ /**
2171
+ * Maximum number to return (1-100, default 50).
2172
+ */
2173
+ limit?: number
2174
+ /**
2175
+ * Return only publications in this state.
2176
+ */
2177
+ state?: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2178
+ /**
2179
+ * How many to skip, for paging.
2180
+ */
2181
+ offset?: number
2182
+ /**
2183
+ * Return only publications of this post.
2184
+ */
2185
+ postId?: string
2186
+ /**
2187
+ * Return only publications to this channel.
2188
+ */
2189
+ channelId?: string
2190
+ }
2191
+
2192
+ export interface ContentPublicationsListOutput {
2193
+ /**
2194
+ * Total number of matching publications, ignoring paging.
2195
+ */
2196
+ total: number
2197
+ /**
2198
+ * The page of publications, newest slot first.
2199
+ */
2200
+ publications: {
2201
+ /**
2202
+ * Publication id.
2203
+ */
2204
+ id: string
2205
+ /**
2206
+ * The per-channel variant of the text that will be published.
2207
+ */
2208
+ text: string
2209
+ /**
2210
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2211
+ */
2212
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2213
+ /**
2214
+ * The post being published.
2215
+ */
2216
+ postId: string
2217
+ /**
2218
+ * How many dispatch attempts have been made.
2219
+ */
2220
+ attempts: number
2221
+ /**
2222
+ * The channel it is published to.
2223
+ */
2224
+ channelId: string
2225
+ /**
2226
+ * ISO-8601 creation time.
2227
+ */
2228
+ createdAt: string
2229
+ /**
2230
+ * The most recent failure, if any.
2231
+ */
2232
+ lastError: (string | null)
2233
+ /**
2234
+ * ISO-8601 time of the last change.
2235
+ */
2236
+ updatedAt: string
2237
+ /**
2238
+ * The network's id for the published post, once known.
2239
+ */
2240
+ externalId: (string | null)
2241
+ /**
2242
+ * URL of the published post, once known.
2243
+ */
2244
+ externalUrl: (string | null)
2245
+ /**
2246
+ * ISO-8601 time it was confirmed published.
2247
+ */
2248
+ publishedAt: (string | null)
2249
+ /**
2250
+ * ISO-8601 time the publication is due.
2251
+ */
2252
+ scheduledAt: string
2253
+ /**
2254
+ * How many reminders have been sent for this publication.
2255
+ */
2256
+ reminderCount: number
2257
+ /**
2258
+ * The key that makes a retry the same publication.
2259
+ */
2260
+ idempotencyKey: string
2261
+ /**
2262
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2263
+ */
2264
+ reminderSentAt: (string | null)
2265
+ }[]
2266
+ }
2267
+
2268
+ export interface ContentPublicationsPublishInput {
2269
+ /**
2270
+ * Per-channel variant of the text. Omit to publish the post text as written.
2271
+ */
2272
+ text?: string
2273
+ /**
2274
+ * The post to publish. It must already be approved.
2275
+ */
2276
+ postId: string
2277
+ /**
2278
+ * The channel to publish to.
2279
+ */
2280
+ channelId: string
2281
+ /**
2282
+ * Your own key for this publishing intent, unique within the product. Resending the same key returns the SAME publication instead of creating a second one — a duplicate in a client feed is the worst defect this product can ship. Omit it and one is derived from post, channel and time.
2283
+ */
2284
+ idempotencyKey?: string
2285
+ }
2286
+
2287
+ export interface ContentPublicationsPublishOutput {
2288
+ /**
2289
+ * Publication id.
2290
+ */
2291
+ id: string
2292
+ /**
2293
+ * The per-channel variant of the text that will be published.
2294
+ */
2295
+ text: string
2296
+ /**
2297
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2298
+ */
2299
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2300
+ /**
2301
+ * The post being published.
2302
+ */
2303
+ postId: string
2304
+ /**
2305
+ * How many dispatch attempts have been made.
2306
+ */
2307
+ attempts: number
2308
+ /**
2309
+ * The channel it is published to.
2310
+ */
2311
+ channelId: string
2312
+ /**
2313
+ * ISO-8601 creation time.
2314
+ */
2315
+ createdAt: string
2316
+ /**
2317
+ * The most recent failure, if any.
2318
+ */
2319
+ lastError: (string | null)
2320
+ /**
2321
+ * ISO-8601 time of the last change.
2322
+ */
2323
+ updatedAt: string
2324
+ /**
2325
+ * The network's id for the published post, once known.
2326
+ */
2327
+ externalId: (string | null)
2328
+ /**
2329
+ * URL of the published post, once known.
2330
+ */
2331
+ externalUrl: (string | null)
2332
+ /**
2333
+ * ISO-8601 time it was confirmed published.
2334
+ */
2335
+ publishedAt: (string | null)
2336
+ /**
2337
+ * ISO-8601 time the publication is due.
2338
+ */
2339
+ scheduledAt: string
2340
+ /**
2341
+ * How many reminders have been sent for this publication.
2342
+ */
2343
+ reminderCount: number
2344
+ /**
2345
+ * The key that makes a retry the same publication.
2346
+ */
2347
+ idempotencyKey: string
2348
+ /**
2349
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2350
+ */
2351
+ reminderSentAt: (string | null)
2352
+ }
2353
+
2354
+ export interface ContentPublicationsRemindInput {
2355
+ /**
2356
+ * The publication id returned by content_publications_schedule.
2357
+ */
2358
+ id: string
2359
+ }
2360
+
2361
+ export interface ContentPublicationsRemindOutput {
2362
+ /**
2363
+ * Publication id.
2364
+ */
2365
+ id: string
2366
+ /**
2367
+ * The per-channel variant of the text that will be published.
2368
+ */
2369
+ text: string
2370
+ /**
2371
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2372
+ */
2373
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2374
+ /**
2375
+ * The post being published.
2376
+ */
2377
+ postId: string
2378
+ /**
2379
+ * How many dispatch attempts have been made.
2380
+ */
2381
+ attempts: number
2382
+ /**
2383
+ * The channel it is published to.
2384
+ */
2385
+ channelId: string
2386
+ /**
2387
+ * ISO-8601 creation time.
2388
+ */
2389
+ createdAt: string
2390
+ /**
2391
+ * The most recent failure, if any.
2392
+ */
2393
+ lastError: (string | null)
2394
+ /**
2395
+ * ISO-8601 time of the last change.
2396
+ */
2397
+ updatedAt: string
2398
+ /**
2399
+ * The network's id for the published post, once known.
2400
+ */
2401
+ externalId: (string | null)
2402
+ /**
2403
+ * URL of the published post, once known.
2404
+ */
2405
+ externalUrl: (string | null)
2406
+ /**
2407
+ * ISO-8601 time it was confirmed published.
2408
+ */
2409
+ publishedAt: (string | null)
2410
+ /**
2411
+ * ISO-8601 time the publication is due.
2412
+ */
2413
+ scheduledAt: string
2414
+ /**
2415
+ * How many reminders have been sent for this publication.
2416
+ */
2417
+ reminderCount: number
2418
+ /**
2419
+ * The key that makes a retry the same publication.
2420
+ */
2421
+ idempotencyKey: string
2422
+ /**
2423
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2424
+ */
2425
+ reminderSentAt: (string | null)
2426
+ }
2427
+
2428
+ export interface ContentPublicationsRescheduleInput {
2429
+ /**
2430
+ * The publication id returned by content_publications_schedule.
2431
+ */
2432
+ id: string
2433
+ /**
2434
+ * New ISO-8601 time. The publication returns to the queue.
2435
+ */
2436
+ scheduledAt: string
2437
+ }
2438
+
2439
+ export interface ContentPublicationsRescheduleOutput {
2440
+ /**
2441
+ * Publication id.
2442
+ */
2443
+ id: string
2444
+ /**
2445
+ * The per-channel variant of the text that will be published.
2446
+ */
2447
+ text: string
2448
+ /**
2449
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2450
+ */
2451
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2452
+ /**
2453
+ * The post being published.
2454
+ */
2455
+ postId: string
2456
+ /**
2457
+ * How many dispatch attempts have been made.
2458
+ */
2459
+ attempts: number
2460
+ /**
2461
+ * The channel it is published to.
2462
+ */
2463
+ channelId: string
2464
+ /**
2465
+ * ISO-8601 creation time.
2466
+ */
2467
+ createdAt: string
2468
+ /**
2469
+ * The most recent failure, if any.
2470
+ */
2471
+ lastError: (string | null)
2472
+ /**
2473
+ * ISO-8601 time of the last change.
2474
+ */
2475
+ updatedAt: string
1379
2476
  /**
1380
- * Provider id
2477
+ * The network's id for the published post, once known.
1381
2478
  */
1382
- id: string
1383
- name?: string
2479
+ externalId: (string | null)
1384
2480
  /**
1385
- * If provided, REPLACES the hosts list. Omit to leave unchanged.
1386
- *
1387
- * @maxItems 50
2481
+ * URL of the published post, once known.
1388
2482
  */
1389
- hosts?: string[]
2483
+ externalUrl: (string | null)
1390
2484
  /**
1391
- * If provided, REPLACES the whole cookies set for this provider. Omit to leave unchanged.
1392
- *
1393
- * @maxItems 200
2485
+ * ISO-8601 time it was confirmed published.
1394
2486
  */
1395
- cookies?: {
2487
+ publishedAt: (string | null)
1396
2488
  /**
1397
- * Cookie/storage key name, e.g. "_ga"
2489
+ * ISO-8601 time the publication is due.
1398
2490
  */
1399
- name: string
2491
+ scheduledAt: string
1400
2492
  /**
1401
- * Storage mechanism matches CHECK constraint on consent_cookies.type
2493
+ * How many reminders have been sent for this publication.
1402
2494
  */
1403
- type: ("http_cookie" | "local_storage" | "session_storage")
2495
+ reminderCount: number
1404
2496
  /**
1405
- * Human-readable description of why the cookie is set
2497
+ * The key that makes a retry the same publication.
1406
2498
  */
1407
- purpose: string
2499
+ idempotencyKey: string
1408
2500
  /**
1409
- * Duration like "2 years", "session", "30 days"
2501
+ * ISO-8601 time the most recent reminder went out, or null if none has.
1410
2502
  */
1411
- storageDuration: string
1412
- }[]
2503
+ reminderSentAt: (string | null)
2504
+ }
2505
+
2506
+ export interface ContentPublicationsScheduleInput {
1413
2507
  /**
1414
- * Consent category bucket matches CHECK constraint on consent_providers.category
2508
+ * Per-channel variant of the text. Omit to publish the post text as written.
1415
2509
  */
1416
- category?: ("necessary" | "preferences" | "statistics" | "marketing")
1417
- orderIndex?: number
2510
+ text?: string
1418
2511
  /**
1419
- * null clears the field, undefined leaves it unchanged
2512
+ * The post to publish. It must already be approved — an unapproved text never publishes.
1420
2513
  */
1421
- privacyUrl?: (string | null)
2514
+ postId: string
1422
2515
  /**
1423
- * Pass empty string to clear; undefined leaves unchanged
2516
+ * The channel to publish to. Get its character limit from content_channels_get first.
1424
2517
  */
1425
- description?: string
2518
+ channelId: string
2519
+ /**
2520
+ * ISO-8601 time to publish. In the past means "as soon as the next tick runs".
2521
+ */
2522
+ scheduledAt: string
2523
+ /**
2524
+ * Your own key for this publishing intent, unique within the product. Resending the same key returns the SAME publication instead of creating a second one — a duplicate in a client feed is the worst defect this product can ship. Omit it and one is derived from post, channel and time.
2525
+ */
2526
+ idempotencyKey?: string
1426
2527
  }
1427
2528
 
1428
- export interface ConsentProvidersUpdateOutput {
1429
- id: string
1430
- name: string
1431
- hosts: string[]
1432
- cookies: {
2529
+ export interface ContentPublicationsScheduleOutput {
2530
+ /**
2531
+ * Publication id.
2532
+ */
1433
2533
  id: string
1434
- name: string
1435
- type: ("http_cookie" | "local_storage" | "session_storage")
1436
- purpose: string
1437
- storageDuration: string
1438
- }[]
1439
- category: ("necessary" | "preferences" | "statistics" | "marketing")
1440
- isSystem?: boolean
2534
+ /**
2535
+ * The per-channel variant of the text that will be published.
2536
+ */
2537
+ text: string
2538
+ /**
2539
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2540
+ */
2541
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2542
+ /**
2543
+ * The post being published.
2544
+ */
2545
+ postId: string
2546
+ /**
2547
+ * How many dispatch attempts have been made.
2548
+ */
2549
+ attempts: number
2550
+ /**
2551
+ * The channel it is published to.
2552
+ */
2553
+ channelId: string
2554
+ /**
2555
+ * ISO-8601 creation time.
2556
+ */
1441
2557
  createdAt: string
2558
+ /**
2559
+ * The most recent failure, if any.
2560
+ */
2561
+ lastError: (string | null)
2562
+ /**
2563
+ * ISO-8601 time of the last change.
2564
+ */
1442
2565
  updatedAt: string
1443
- catalogKey?: (string | null)
1444
- orderIndex: number
1445
- privacyUrl: (string | null)
1446
- description: string
1447
- }
1448
-
1449
- export interface ConsentRecordsExportInput {
1450
2566
  /**
1451
- * Inclusive upper bound for created_at, ISO-8601. Example: "2026-01-01T00:00:00Z". Omit for "up to now".
2567
+ * The network's id for the published post, once known.
1452
2568
  */
1453
- to?: string
2569
+ externalId: (string | null)
1454
2570
  /**
1455
- * Inclusive lower bound for created_at (server clock), ISO-8601. Example: "2025-01-01T00:00:00Z". Omit for "from the beginning".
2571
+ * URL of the published post, once known.
1456
2572
  */
1457
- from?: string
2573
+ externalUrl: (string | null)
1458
2574
  /**
1459
- * Maximum rows to return inline. Default 1000, hard cap 10000. If more rows match, the response sets truncated=true and includes download_url for the full dataset via HTTP.
2575
+ * ISO-8601 time it was confirmed published.
1460
2576
  */
1461
- limit?: number
2577
+ publishedAt: (string | null)
1462
2578
  /**
1463
- * DSAR (Art. 15) lookup: a visitor-presented record_id (the UUID from their consent cookie). When set, the export is filtered to that visitor's full decision chain (transitive closure over replaces_id), scoped to the current product. Omit for a product-wide admin export.
2579
+ * ISO-8601 time the publication is due.
1464
2580
  */
1465
- record_id?: string
1466
- }
1467
-
1468
- export interface ConsentRecordsExportOutput {
1469
- csv: string
1470
- filters: {
1471
- to: (string | null)
1472
- from: (string | null)
1473
- limit: number
1474
- }
1475
- truncated: boolean
1476
- total_count: number
1477
- download_url?: string
1478
- returned_count: number
1479
- }
1480
-
1481
- export interface ConsentStatsGetInput {
2581
+ scheduledAt: string
1482
2582
  /**
1483
- * Time window for aggregation in days, e.g. "30d". Omit to use the server default (30d). Maximum: 365d.
2583
+ * How many reminders have been sent for this publication.
1484
2584
  */
1485
- range?: string
1486
- }
1487
-
1488
- export interface ConsentStatsGetOutput {
1489
- range: {
1490
- to: string
1491
- from: string
1492
- }
1493
- total: number
1494
- custom_pct: number
1495
- by_category: {
1496
- marketing_pct: number
1497
- statistics_pct: number
1498
- preferences_pct: number
1499
- }
1500
- deny_all_pct: number
1501
- accept_all_pct: number
2585
+ reminderCount: number
2586
+ /**
2587
+ * The key that makes a retry the same publication.
2588
+ */
2589
+ idempotencyKey: string
2590
+ /**
2591
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2592
+ */
2593
+ reminderSentAt: (string | null)
1502
2594
  }
1503
2595
 
1504
2596
  export interface DeploymentAlertCreateInput {
@@ -15487,6 +16579,7 @@ displayName: (string | null)
15487
16579
  orgRoles: {
15488
16580
  id: string
15489
16581
  name: string
16582
+ description: (string | null)
15490
16583
  }[]
15491
16584
  canManage: boolean
15492
16585
  inherited: {
@@ -15883,6 +16976,226 @@ lastMessagePreview: (string | null)
15883
16976
  }[]
15884
16977
  }
15885
16978
 
16979
+ export interface PlaygroundAnalyticsOverviewInput {
16980
+ /**
16981
+ * Max records per entity in recent[]; omit for the endpoint default
16982
+ */
16983
+ limit?: number
16984
+ }
16985
+
16986
+ export interface PlaygroundAnalyticsOverviewOutput {
16987
+ ok: boolean
16988
+ minted: boolean
16989
+ overview?: unknown
16990
+ http_status: number
16991
+ }
16992
+
16993
+ export interface PlaygroundBillingEntitlementsInput {
16994
+
16995
+ }
16996
+
16997
+ export interface PlaygroundBillingEntitlementsOutput {
16998
+ ok: boolean
16999
+ minted: boolean
17000
+ http_status: number
17001
+ entitlements?: unknown
17002
+ }
17003
+
17004
+ export interface PlaygroundBillingRecordUsageInput {
17005
+ /**
17006
+ * Quantity of events to record against playground-events (SUM); defaults to 1
17007
+ */
17008
+ value?: number
17009
+ }
17010
+
17011
+ export interface PlaygroundBillingRecordUsageOutput {
17012
+ minted: boolean
17013
+ accepted: (number | null)
17014
+ recorded: boolean
17015
+ duplicates: (number | null)
17016
+ http_status: number
17017
+ }
17018
+
17019
+ export interface PlaygroundClickupCreateTaskInput {
17020
+ /**
17021
+ * Task title; defaults to a fixture label
17022
+ */
17023
+ name?: string
17024
+ /**
17025
+ * ClickUp list id; falls back to CLICKUP_TEST_LIST_ID
17026
+ */
17027
+ listId?: string
17028
+ }
17029
+
17030
+ export interface PlaygroundClickupCreateTaskOutput {
17031
+ minted: boolean
17032
+ task_id: (string | null)
17033
+ list_status: number
17034
+ vend_status: number
17035
+ clickup_status: number
17036
+ installation_count: number
17037
+ }
17038
+
17039
+ export interface PlaygroundClickupGetLastWebhookInput {
17040
+
17041
+ }
17042
+
17043
+ export type PlaygroundClickupGetLastWebhookOutput = ({
17044
+ payload: string
17045
+ event_id: string
17046
+ provider: string
17047
+ verified: boolean
17048
+ product_id: string
17049
+ occurred_at: string
17050
+ connector_id: string
17051
+ clickup_event: (string | null)
17052
+ receipt_count: number
17053
+ } | {
17054
+ found: false
17055
+ })
17056
+
17057
+ export interface PlaygroundClickupGetOverviewInput {
17058
+
17059
+ }
17060
+
17061
+ export interface PlaygroundClickupGetOverviewOutput {
17062
+ team: ({
17063
+ teamId: string
17064
+ teamName: string
17065
+ } | null)
17066
+ lists: PlaygroundClickupGetOverviewOutputItems[]
17067
+ tasks: {
17068
+ id: string
17069
+ name: string
17070
+ status: (string | null)
17071
+ }[]
17072
+ minted: boolean
17073
+ spaces: PlaygroundClickupGetOverviewOutputItems[]
17074
+ list_status: number
17075
+ vend_status: number
17076
+ lists_status: number
17077
+ tasks_status: number
17078
+ spaces_status: number
17079
+ folders_status: number
17080
+ installation_count: number
17081
+ }
17082
+ export interface PlaygroundClickupGetOverviewOutputItems {
17083
+ id: string
17084
+ name: string
17085
+ }
17086
+
17087
+ export interface PlaygroundGdriveGetLastChangeInput {
17088
+
17089
+ }
17090
+
17091
+ export type PlaygroundGdriveGetLastChangeOutput = ({
17092
+ file_id: string
17093
+ removed: boolean
17094
+ file_name: (string | null)
17095
+ mime_type: (string | null)
17096
+ product_id: string
17097
+ occurred_at: string
17098
+ connector_id: string
17099
+ resource_state: string
17100
+ } | {
17101
+ found: false
17102
+ })
17103
+
17104
+ export interface PlaygroundGdriveReadFileInput {
17105
+ /**
17106
+ * Drive file id; falls back to GDRIVE_TEST_FILE_ID, then the first picked file
17107
+ */
17108
+ fileId?: string
17109
+ }
17110
+
17111
+ export interface PlaygroundGdriveReadFileOutput {
17112
+ minted: boolean
17113
+ file_id: (string | null)
17114
+ file_name: (string | null)
17115
+ mime_type: (string | null)
17116
+ file_count: number
17117
+ get_status: number
17118
+ list_status: number
17119
+ vend_status: number
17120
+ content_bytes: (number | null)
17121
+ }
17122
+
17123
+ export interface PlaygroundGoogleadsReadCustomerInput {
17124
+
17125
+ }
17126
+
17127
+ export interface PlaygroundGoogleadsReadCustomerOutput {
17128
+ minted: boolean
17129
+ vended: boolean
17130
+ customer_id: (string | null)
17131
+ vend_status: number
17132
+ result_count: number
17133
+ search_status: number
17134
+ login_customer_id: (string | null)
17135
+ }
17136
+
17137
+ export interface PlaygroundLifecycleGetStateInput {
17138
+
17139
+ }
17140
+
17141
+ export interface PlaygroundLifecycleGetStateOutput {
17142
+ blocked: boolean
17143
+ archived: boolean
17144
+ productId: string
17145
+ lastBlockTransition: ({
17146
+ eventId: string
17147
+ eventName: string
17148
+ productId: string
17149
+ occurredAt: string
17150
+ recordedAt: string
17151
+ receiptCount: number
17152
+ organizationId: string
17153
+ cascadedFromOrg: boolean
17154
+ } | null)
17155
+ lastArchiveTransition: ({
17156
+ eventId: string
17157
+ eventName: string
17158
+ productId: string
17159
+ occurredAt: string
17160
+ recordedAt: string
17161
+ receiptCount: number
17162
+ organizationId: string
17163
+ cascadedFromOrg: boolean
17164
+ } | null)
17165
+ }
17166
+
17167
+ export interface PlaygroundLifecycleListEventsInput {
17168
+
17169
+ }
17170
+
17171
+ export type PlaygroundLifecycleListEventsOutput = {
17172
+ eventId: string
17173
+ eventName: string
17174
+ productId: string
17175
+ occurredAt: string
17176
+ recordedAt: string
17177
+ receiptCount: number
17178
+ organizationId: string
17179
+ cascadedFromOrg: boolean
17180
+ }[]
17181
+
17182
+ export interface PlaygroundWebhookGetLastInput {
17183
+
17184
+ }
17185
+
17186
+ export type PlaygroundWebhookGetLastOutput = ({
17187
+ payload?: unknown
17188
+ event_id: string
17189
+ provider: string
17190
+ verified: boolean
17191
+ product_id: string
17192
+ occurred_at: string
17193
+ connector_id: string
17194
+ delivery_count: number
17195
+ } | {
17196
+ found: false
17197
+ })
17198
+
15886
17199
  export interface RealtimeArchiveExportInput {
15887
17200
  /**
15888
17201
  * Only entries with ts <= to_ts (epoch ms)