@lessly/sdk-app 44.0.0 → 45.0.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-BC3cJSSd.d.cts} +4680 -387
  10. package/dist/{client.gen-BsjxuDLy.d.ts → client.gen-BC3cJSSd.d.ts} +4680 -387
  11. package/dist/consent/index.d.cts +1 -1
  12. package/dist/consent/index.d.ts +1 -1
  13. package/dist/content/index.cjs +161 -0
  14. package/dist/content/index.cjs.map +1 -0
  15. package/dist/content/index.d.cts +128 -0
  16. package/dist/content/index.d.ts +128 -0
  17. package/dist/content/index.js +129 -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 +750 -138
  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 +750 -138
  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 +750 -138
  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 +165 -5
  54. package/src/gen/content/index.ts +3 -0
  55. package/src/gen/content/queryOptions.gen.ts +202 -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 +4296 -217
@@ -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
  }
@@ -1340,165 +1248,4115 @@ description: string
1340
1248
 
1341
1249
  export interface ConsentProvidersDeleteInput {
1342
1250
  /**
1343
- * Provider id
1251
+ * Provider id
1252
+ */
1253
+ id: string
1254
+ }
1255
+
1256
+ export interface ConsentProvidersDeleteOutput {
1257
+ id: string
1258
+ deleted: true
1259
+ }
1260
+
1261
+ export interface ConsentProvidersListInput {
1262
+
1263
+ }
1264
+
1265
+ export type ConsentProvidersListOutput = {
1266
+ id: string
1267
+ name: string
1268
+ hosts: string[]
1269
+ cookies: {
1270
+ id: string
1271
+ name: string
1272
+ type: ("http_cookie" | "local_storage" | "session_storage")
1273
+ purpose: string
1274
+ storageDuration: string
1275
+ }[]
1276
+ category: ("necessary" | "preferences" | "statistics" | "marketing")
1277
+ isSystem?: boolean
1278
+ createdAt: string
1279
+ updatedAt: string
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 ContentChannelsBindInput {
1413
+ /**
1414
+ * The channel id returned by content_channels_list.
1415
+ */
1416
+ id: string
1417
+ /**
1418
+ * The platform connector to publish through — the id of a connector attached to this product, from the workspace connectors list. Networks with no publishing connector (instagram, LinkedIn company pages) are rejected.
1419
+ */
1420
+ connectorId: string
1421
+ /**
1422
+ * Pass auto to make this API publish through the connector. Omit to keep the current mode: binding alone never switches a channel to automatic publishing.
1423
+ */
1424
+ deliveryMode?: ("auto" | "reminder")
1425
+ }
1426
+
1427
+ export interface ContentChannelsBindOutput {
1428
+ /**
1429
+ * Channel id — pass this to content_publications_schedule.
1430
+ */
1431
+ id: string
1432
+ /**
1433
+ * Social network: linkedin, x, youtube, instagram or reddit.
1434
+ */
1435
+ network: string
1436
+ /**
1437
+ * ISO-8601 time the connector stopped working, or null when healthy. A paused channel keeps its scheduled publications — they are frozen, not cancelled, and dispatch once it resumes.
1438
+ */
1439
+ pausedAt: (string | null)
1440
+ /**
1441
+ * ISO-8601 creation time.
1442
+ */
1443
+ createdAt: string
1444
+ /**
1445
+ * ISO-8601 time of the last change.
1446
+ */
1447
+ updatedAt: string
1448
+ /**
1449
+ * Platform connector this channel publishes through, or null for a reminder channel that needs none. An id — this toolkit never holds social credentials; a token is fetched per call and discarded.
1450
+ */
1451
+ connectorId: (string | null)
1452
+ /**
1453
+ * Human label for the channel.
1454
+ */
1455
+ displayName: string
1456
+ /**
1457
+ * Why it paused: revoked (access was taken away), expired (the credential ran out), or the provider reason code from a failed publish. Null when healthy.
1458
+ */
1459
+ pauseReason: (string | null)
1460
+ /**
1461
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1462
+ */
1463
+ subjectType: ("member" | "organization")
1464
+ /**
1465
+ * 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.
1466
+ */
1467
+ capabilities: {
1468
+ [k: string]: unknown
1469
+ }
1470
+ /**
1471
+ * 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.
1472
+ */
1473
+ deliveryMode: ("auto" | "reminder")
1474
+ }
1475
+
1476
+ export interface ContentChannelsGetInput {
1477
+ /**
1478
+ * The channel id returned by content_channels_list.
1479
+ */
1480
+ id: string
1481
+ }
1482
+
1483
+ export interface ContentChannelsGetOutput {
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 time the connector stopped working, or null when healthy. A paused channel keeps its scheduled publications — they are frozen, not cancelled, and dispatch once it resumes.
1494
+ */
1495
+ pausedAt: (string | null)
1496
+ /**
1497
+ * ISO-8601 creation time.
1498
+ */
1499
+ createdAt: string
1500
+ /**
1501
+ * ISO-8601 time of the last change.
1502
+ */
1503
+ updatedAt: string
1504
+ /**
1505
+ * Platform connector this channel publishes through, or null for a reminder channel that needs none. An id — this toolkit never holds social credentials; a token is fetched per call and discarded.
1506
+ */
1507
+ connectorId: (string | null)
1508
+ /**
1509
+ * Human label for the channel.
1510
+ */
1511
+ displayName: string
1512
+ /**
1513
+ * Why it paused: revoked (access was taken away), expired (the credential ran out), or the provider reason code from a failed publish. Null when healthy.
1514
+ */
1515
+ pauseReason: (string | null)
1516
+ /**
1517
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1518
+ */
1519
+ subjectType: ("member" | "organization")
1520
+ /**
1521
+ * 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.
1522
+ */
1523
+ capabilities: {
1524
+ [k: string]: unknown
1525
+ }
1526
+ /**
1527
+ * 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.
1528
+ */
1529
+ deliveryMode: ("auto" | "reminder")
1530
+ }
1531
+
1532
+ export interface ContentChannelsListInput {
1533
+ /**
1534
+ * Maximum number of channels to return (1-100, default 50).
1535
+ */
1536
+ limit?: number
1537
+ /**
1538
+ * How many channels to skip, for paging.
1539
+ */
1540
+ offset?: number
1541
+ /**
1542
+ * Return only channels on this network.
1543
+ */
1544
+ network?: ("linkedin" | "x" | "youtube" | "instagram" | "reddit")
1545
+ }
1546
+
1547
+ export interface ContentChannelsListOutput {
1548
+ /**
1549
+ * Total number of matching channels, ignoring paging.
1550
+ */
1551
+ total: number
1552
+ /**
1553
+ * The page of channels, ordered by network.
1554
+ */
1555
+ channels: {
1556
+ /**
1557
+ * Channel id — pass this to content_publications_schedule.
1558
+ */
1559
+ id: string
1560
+ /**
1561
+ * Social network: linkedin, x, youtube, instagram or reddit.
1562
+ */
1563
+ network: string
1564
+ /**
1565
+ * ISO-8601 time the connector stopped working, or null when healthy. A paused channel keeps its scheduled publications — they are frozen, not cancelled, and dispatch once it resumes.
1566
+ */
1567
+ pausedAt: (string | null)
1568
+ /**
1569
+ * ISO-8601 creation time.
1570
+ */
1571
+ createdAt: string
1572
+ /**
1573
+ * ISO-8601 time of the last change.
1574
+ */
1575
+ updatedAt: string
1576
+ /**
1577
+ * Platform connector this channel publishes through, or null for a reminder channel that needs none. An id — this toolkit never holds social credentials; a token is fetched per call and discarded.
1578
+ */
1579
+ connectorId: (string | null)
1580
+ /**
1581
+ * Human label for the channel.
1582
+ */
1583
+ displayName: string
1584
+ /**
1585
+ * Why it paused: revoked (access was taken away), expired (the credential ran out), or the provider reason code from a failed publish. Null when healthy.
1586
+ */
1587
+ pauseReason: (string | null)
1588
+ /**
1589
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1590
+ */
1591
+ subjectType: ("member" | "organization")
1592
+ /**
1593
+ * 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.
1594
+ */
1595
+ capabilities: {
1596
+ [k: string]: unknown
1597
+ }
1598
+ /**
1599
+ * 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.
1600
+ */
1601
+ deliveryMode: ("auto" | "reminder")
1602
+ }[]
1603
+ }
1604
+
1605
+ export interface ContentChannelsResumeInput {
1606
+ /**
1607
+ * The paused channel to resume, once its connector has been reconnected.
1608
+ */
1609
+ id: string
1610
+ }
1611
+
1612
+ export interface ContentChannelsResumeOutput {
1613
+ /**
1614
+ * Channel id — pass this to content_publications_schedule.
1615
+ */
1616
+ id: string
1617
+ /**
1618
+ * Social network: linkedin, x, youtube, instagram or reddit.
1619
+ */
1620
+ network: string
1621
+ /**
1622
+ * ISO-8601 time the connector stopped working, or null when healthy. A paused channel keeps its scheduled publications — they are frozen, not cancelled, and dispatch once it resumes.
1623
+ */
1624
+ pausedAt: (string | null)
1625
+ /**
1626
+ * ISO-8601 creation time.
1627
+ */
1628
+ createdAt: string
1629
+ /**
1630
+ * ISO-8601 time of the last change.
1631
+ */
1632
+ updatedAt: string
1633
+ /**
1634
+ * Platform connector this channel publishes through, or null for a reminder channel that needs none. An id — this toolkit never holds social credentials; a token is fetched per call and discarded.
1635
+ */
1636
+ connectorId: (string | null)
1637
+ /**
1638
+ * Human label for the channel.
1639
+ */
1640
+ displayName: string
1641
+ /**
1642
+ * Why it paused: revoked (access was taken away), expired (the credential ran out), or the provider reason code from a failed publish. Null when healthy.
1643
+ */
1644
+ pauseReason: (string | null)
1645
+ /**
1646
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1647
+ */
1648
+ subjectType: ("member" | "organization")
1649
+ /**
1650
+ * 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.
1651
+ */
1652
+ capabilities: {
1653
+ [k: string]: unknown
1654
+ }
1655
+ /**
1656
+ * 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.
1657
+ */
1658
+ deliveryMode: ("auto" | "reminder")
1659
+ }
1660
+
1661
+ export interface ContentChannelsUnbindInput {
1662
+ /**
1663
+ * The channel id returned by content_channels_list.
1664
+ */
1665
+ id: string
1666
+ }
1667
+
1668
+ export interface ContentChannelsUnbindOutput {
1669
+ /**
1670
+ * Channel id — pass this to content_publications_schedule.
1671
+ */
1672
+ id: string
1673
+ /**
1674
+ * Social network: linkedin, x, youtube, instagram or reddit.
1675
+ */
1676
+ network: string
1677
+ /**
1678
+ * ISO-8601 time the connector stopped working, or null when healthy. A paused channel keeps its scheduled publications — they are frozen, not cancelled, and dispatch once it resumes.
1679
+ */
1680
+ pausedAt: (string | null)
1681
+ /**
1682
+ * ISO-8601 creation time.
1683
+ */
1684
+ createdAt: string
1685
+ /**
1686
+ * ISO-8601 time of the last change.
1687
+ */
1688
+ updatedAt: string
1689
+ /**
1690
+ * Platform connector this channel publishes through, or null for a reminder channel that needs none. An id — this toolkit never holds social credentials; a token is fetched per call and discarded.
1691
+ */
1692
+ connectorId: (string | null)
1693
+ /**
1694
+ * Human label for the channel.
1695
+ */
1696
+ displayName: string
1697
+ /**
1698
+ * Why it paused: revoked (access was taken away), expired (the credential ran out), or the provider reason code from a failed publish. Null when healthy.
1699
+ */
1700
+ pauseReason: (string | null)
1701
+ /**
1702
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1703
+ */
1704
+ subjectType: ("member" | "organization")
1705
+ /**
1706
+ * 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.
1707
+ */
1708
+ capabilities: {
1709
+ [k: string]: unknown
1710
+ }
1711
+ /**
1712
+ * 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.
1713
+ */
1714
+ deliveryMode: ("auto" | "reminder")
1715
+ }
1716
+
1717
+ export interface ContentChannelsUpdateInput {
1718
+ /**
1719
+ * The channel id returned by content_channels_list.
1720
+ */
1721
+ id: string
1722
+ /**
1723
+ * New human label for the channel. Omit to keep the current one.
1724
+ */
1725
+ displayName?: string
1726
+ /**
1727
+ * Override individual capability fields — a known ceiling beats the hand-filled constant. Merges over the existing descriptor; fields you omit keep their current values.
1728
+ */
1729
+ capabilities?: {
1730
+ [k: string]: unknown
1731
+ }
1732
+ /**
1733
+ * Change how the post reaches the network. Only reminder can be scheduled in this release — no publishing adapter exists yet.
1734
+ */
1735
+ deliveryMode?: ("auto" | "reminder")
1736
+ }
1737
+
1738
+ export interface ContentChannelsUpdateOutput {
1739
+ /**
1740
+ * Channel id — pass this to content_publications_schedule.
1741
+ */
1742
+ id: string
1743
+ /**
1744
+ * Social network: linkedin, x, youtube, instagram or reddit.
1745
+ */
1746
+ network: string
1747
+ /**
1748
+ * ISO-8601 time the connector stopped working, or null when healthy. A paused channel keeps its scheduled publications — they are frozen, not cancelled, and dispatch once it resumes.
1749
+ */
1750
+ pausedAt: (string | null)
1751
+ /**
1752
+ * ISO-8601 creation time.
1753
+ */
1754
+ createdAt: string
1755
+ /**
1756
+ * ISO-8601 time of the last change.
1757
+ */
1758
+ updatedAt: string
1759
+ /**
1760
+ * Platform connector this channel publishes through, or null for a reminder channel that needs none. An id — this toolkit never holds social credentials; a token is fetched per call and discarded.
1761
+ */
1762
+ connectorId: (string | null)
1763
+ /**
1764
+ * Human label for the channel.
1765
+ */
1766
+ displayName: string
1767
+ /**
1768
+ * Why it paused: revoked (access was taken away), expired (the credential ran out), or the provider reason code from a failed publish. Null when healthy.
1769
+ */
1770
+ pauseReason: (string | null)
1771
+ /**
1772
+ * Who publishes: member (a personal account) or organization (a company page). Phase 1 channels are all member accounts.
1773
+ */
1774
+ subjectType: ("member" | "organization")
1775
+ /**
1776
+ * 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.
1777
+ */
1778
+ capabilities: {
1779
+ [k: string]: unknown
1780
+ }
1781
+ /**
1782
+ * 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.
1783
+ */
1784
+ deliveryMode: ("auto" | "reminder")
1785
+ }
1786
+
1787
+ export interface ContentMediaCreateUploadUrlInput {
1788
+ /**
1789
+ * Name to store the file under, for display purposes.
1790
+ */
1791
+ filename?: string
1792
+ /**
1793
+ * The media type the app will PUT, e.g. video/mp4. Must be image/* or video/*.
1794
+ */
1795
+ contentType: string
1796
+ }
1797
+
1798
+ export interface ContentMediaCreateUploadUrlOutput {
1799
+ /**
1800
+ * The pending asset row. It turns ready on finalize.
1801
+ */
1802
+ asset: {
1803
+ /**
1804
+ * Media asset id. Use it to attach the asset to a post.
1805
+ */
1806
+ id: string
1807
+ /**
1808
+ * Object key in the product bucket. Private — hand it to no one, it is not a URL.
1809
+ */
1810
+ key: string
1811
+ /**
1812
+ * Stored media type, or null while still pending.
1813
+ */
1814
+ mime: (string | null)
1815
+ /**
1816
+ * Why the asset is failed — a readable reason, or null when nothing went wrong.
1817
+ */
1818
+ error: (string | null)
1819
+ /**
1820
+ * How the bytes arrived: url (fetched by the toolkit) or upload (PUT by the app).
1821
+ */
1822
+ source: ("url" | "upload")
1823
+ /**
1824
+ * Storage status: pending (the bytes are not in the bucket yet) -> ready (stored, attachable to a post) or failed (ingestion gave up; see error).
1825
+ */
1826
+ status: ("pending" | "ready" | "failed")
1827
+ /**
1828
+ * Original filename, kept for display only.
1829
+ */
1830
+ filename: (string | null)
1831
+ /**
1832
+ * ISO-8601 creation time.
1833
+ */
1834
+ createdAt: string
1835
+ /**
1836
+ * Stored size in bytes, or null while pending.
1837
+ */
1838
+ sizeBytes: (number | null)
1839
+ /**
1840
+ * The URL the bytes were fetched from, if any.
1841
+ */
1842
+ sourceUrl: (string | null)
1843
+ /**
1844
+ * ISO-8601 time of the last change.
1845
+ */
1846
+ updatedAt: string
1847
+ }
1848
+ /**
1849
+ * ISO-8601 time after which the upload URL stops working.
1850
+ */
1851
+ expiresAt: string
1852
+ /**
1853
+ * Time-limited signed PUT URL. Upload the bytes to it, then call the finalize tool.
1854
+ */
1855
+ uploadUrl: string
1856
+ /**
1857
+ * The Content-Type header the PUT must send — the signature covers it.
1858
+ */
1859
+ contentType: string
1860
+ }
1861
+
1862
+ export interface ContentMediaFinalizeInput {
1863
+ /**
1864
+ * The media asset id returned when it was created.
1865
+ */
1866
+ id: string
1867
+ }
1868
+
1869
+ export interface ContentMediaFinalizeOutput {
1870
+ /**
1871
+ * Media asset id. Use it to attach the asset to a post.
1872
+ */
1873
+ id: string
1874
+ /**
1875
+ * Object key in the product bucket. Private — hand it to no one, it is not a URL.
1876
+ */
1877
+ key: string
1878
+ /**
1879
+ * Stored media type, or null while still pending.
1880
+ */
1881
+ mime: (string | null)
1882
+ /**
1883
+ * Why the asset is failed — a readable reason, or null when nothing went wrong.
1884
+ */
1885
+ error: (string | null)
1886
+ /**
1887
+ * How the bytes arrived: url (fetched by the toolkit) or upload (PUT by the app).
1888
+ */
1889
+ source: ("url" | "upload")
1890
+ /**
1891
+ * Storage status: pending (the bytes are not in the bucket yet) -> ready (stored, attachable to a post) or failed (ingestion gave up; see error).
1892
+ */
1893
+ status: ("pending" | "ready" | "failed")
1894
+ /**
1895
+ * Original filename, kept for display only.
1896
+ */
1897
+ filename: (string | null)
1898
+ /**
1899
+ * ISO-8601 creation time.
1900
+ */
1901
+ createdAt: string
1902
+ /**
1903
+ * Stored size in bytes, or null while pending.
1904
+ */
1905
+ sizeBytes: (number | null)
1906
+ /**
1907
+ * The URL the bytes were fetched from, if any.
1908
+ */
1909
+ sourceUrl: (string | null)
1910
+ /**
1911
+ * ISO-8601 time of the last change.
1912
+ */
1913
+ updatedAt: string
1914
+ }
1915
+
1916
+ export interface ContentMediaGetInput {
1917
+ /**
1918
+ * The media asset id returned when it was created.
1919
+ */
1920
+ id: string
1921
+ }
1922
+
1923
+ export interface ContentMediaGetOutput {
1924
+ /**
1925
+ * Media asset id. Use it to attach the asset to a post.
1926
+ */
1927
+ id: string
1928
+ /**
1929
+ * Object key in the product bucket. Private — hand it to no one, it is not a URL.
1930
+ */
1931
+ key: string
1932
+ /**
1933
+ * Stored media type, or null while still pending.
1934
+ */
1935
+ mime: (string | null)
1936
+ /**
1937
+ * Why the asset is failed — a readable reason, or null when nothing went wrong.
1938
+ */
1939
+ error: (string | null)
1940
+ /**
1941
+ * How the bytes arrived: url (fetched by the toolkit) or upload (PUT by the app).
1942
+ */
1943
+ source: ("url" | "upload")
1944
+ /**
1945
+ * Storage status: pending (the bytes are not in the bucket yet) -> ready (stored, attachable to a post) or failed (ingestion gave up; see error).
1946
+ */
1947
+ status: ("pending" | "ready" | "failed")
1948
+ /**
1949
+ * Original filename, kept for display only.
1950
+ */
1951
+ filename: (string | null)
1952
+ /**
1953
+ * ISO-8601 creation time.
1954
+ */
1955
+ createdAt: string
1956
+ /**
1957
+ * Stored size in bytes, or null while pending.
1958
+ */
1959
+ sizeBytes: (number | null)
1960
+ /**
1961
+ * The URL the bytes were fetched from, if any.
1962
+ */
1963
+ sourceUrl: (string | null)
1964
+ /**
1965
+ * ISO-8601 time of the last change.
1966
+ */
1967
+ updatedAt: string
1968
+ }
1969
+
1970
+ export interface ContentMediaListInput {
1971
+ /**
1972
+ * Maximum number of assets to return (1-100, default 50).
1973
+ */
1974
+ limit?: number
1975
+ /**
1976
+ * How many assets to skip, for paging.
1977
+ */
1978
+ offset?: number
1979
+ /**
1980
+ * Return only assets in this storage status.
1981
+ */
1982
+ status?: ("pending" | "ready" | "failed")
1983
+ }
1984
+
1985
+ export interface ContentMediaListOutput {
1986
+ /**
1987
+ * Total number of matching assets, ignoring paging.
1988
+ */
1989
+ total: number
1990
+ /**
1991
+ * The page of assets, newest first.
1992
+ */
1993
+ assets: {
1994
+ /**
1995
+ * Media asset id. Use it to attach the asset to a post.
1996
+ */
1997
+ id: string
1998
+ /**
1999
+ * Object key in the product bucket. Private — hand it to no one, it is not a URL.
2000
+ */
2001
+ key: string
2002
+ /**
2003
+ * Stored media type, or null while still pending.
2004
+ */
2005
+ mime: (string | null)
2006
+ /**
2007
+ * Why the asset is failed — a readable reason, or null when nothing went wrong.
2008
+ */
2009
+ error: (string | null)
2010
+ /**
2011
+ * How the bytes arrived: url (fetched by the toolkit) or upload (PUT by the app).
2012
+ */
2013
+ source: ("url" | "upload")
2014
+ /**
2015
+ * Storage status: pending (the bytes are not in the bucket yet) -> ready (stored, attachable to a post) or failed (ingestion gave up; see error).
2016
+ */
2017
+ status: ("pending" | "ready" | "failed")
2018
+ /**
2019
+ * Original filename, kept for display only.
2020
+ */
2021
+ filename: (string | null)
2022
+ /**
2023
+ * ISO-8601 creation time.
2024
+ */
2025
+ createdAt: string
2026
+ /**
2027
+ * Stored size in bytes, or null while pending.
2028
+ */
2029
+ sizeBytes: (number | null)
2030
+ /**
2031
+ * The URL the bytes were fetched from, if any.
2032
+ */
2033
+ sourceUrl: (string | null)
2034
+ /**
2035
+ * ISO-8601 time of the last change.
2036
+ */
2037
+ updatedAt: string
2038
+ }[]
2039
+ }
2040
+
2041
+ export interface ContentMediaUploadInput {
2042
+ /**
2043
+ * Name to store the file under. Defaults to the last path segment of the URL.
2044
+ */
2045
+ filename?: string
2046
+ /**
2047
+ * Public http(s) URL the toolkit fetches server-side. Images and video only, up to 512 MB.
2048
+ */
2049
+ sourceUrl: string
2050
+ }
2051
+
2052
+ export interface ContentMediaUploadOutput {
2053
+ /**
2054
+ * Media asset id. Use it to attach the asset to a post.
2055
+ */
2056
+ id: string
2057
+ /**
2058
+ * Object key in the product bucket. Private — hand it to no one, it is not a URL.
2059
+ */
2060
+ key: string
2061
+ /**
2062
+ * Stored media type, or null while still pending.
2063
+ */
2064
+ mime: (string | null)
2065
+ /**
2066
+ * Why the asset is failed — a readable reason, or null when nothing went wrong.
2067
+ */
2068
+ error: (string | null)
2069
+ /**
2070
+ * How the bytes arrived: url (fetched by the toolkit) or upload (PUT by the app).
2071
+ */
2072
+ source: ("url" | "upload")
2073
+ /**
2074
+ * Storage status: pending (the bytes are not in the bucket yet) -> ready (stored, attachable to a post) or failed (ingestion gave up; see error).
2075
+ */
2076
+ status: ("pending" | "ready" | "failed")
2077
+ /**
2078
+ * Original filename, kept for display only.
2079
+ */
2080
+ filename: (string | null)
2081
+ /**
2082
+ * ISO-8601 creation time.
2083
+ */
2084
+ createdAt: string
2085
+ /**
2086
+ * Stored size in bytes, or null while pending.
2087
+ */
2088
+ sizeBytes: (number | null)
2089
+ /**
2090
+ * The URL the bytes were fetched from, if any.
2091
+ */
2092
+ sourceUrl: (string | null)
2093
+ /**
2094
+ * ISO-8601 time of the last change.
2095
+ */
2096
+ updatedAt: string
2097
+ }
2098
+
2099
+ export interface ContentMetricsChannelSeriesInput {
2100
+ /**
2101
+ * The channel id, from content_channels_list.
2102
+ */
2103
+ id: string
2104
+ /**
2105
+ * ISO-8601 upper bound on capture time, inclusive. Omit for "up to now".
2106
+ */
2107
+ to?: string
2108
+ /**
2109
+ * ISO-8601 lower bound on capture time, inclusive. Omit for "from the beginning".
2110
+ */
2111
+ from?: string
2112
+ /**
2113
+ * Maximum number of snapshots to return, oldest first.
2114
+ */
2115
+ limit?: number
2116
+ }
2117
+
2118
+ export interface ContentMetricsChannelSeriesOutput {
2119
+ /**
2120
+ * Daily snapshots, oldest first.
2121
+ */
2122
+ points: {
2123
+ /**
2124
+ * The snapshot as the adapter recorded it: the availability it reported, the cross-network metric set (a null field means the network does not report it — never zero), and the raw payload.
2125
+ */
2126
+ metrics: {
2127
+ [k: string]: unknown
2128
+ }
2129
+ /**
2130
+ * ISO-8601 time this snapshot was taken.
2131
+ */
2132
+ capturedAt: string
2133
+ }[]
2134
+ /**
2135
+ * The network the channel publishes to.
2136
+ */
2137
+ network: string
2138
+ /**
2139
+ * What this network reports for this account. "none" means no snapshot will ever be taken — a personal Instagram profile has no API at all; "basic" means fewer numbers than a business account gets, so an absent metric is the network's silence, not a zero.
2140
+ */
2141
+ analytics: ("full" | "basic" | "none")
2142
+ /**
2143
+ * The channel these snapshots belong to.
2144
+ */
2145
+ channelId: string
2146
+ }
2147
+
2148
+ export interface ContentMetricsPostSeriesInput {
2149
+ /**
2150
+ * The publication id, from content_publications_schedule or content_publications_list.
2151
+ */
2152
+ id: string
2153
+ /**
2154
+ * ISO-8601 upper bound on capture time, inclusive. Omit for "up to now".
2155
+ */
2156
+ to?: string
2157
+ /**
2158
+ * ISO-8601 lower bound on capture time, inclusive. Omit for "from the beginning".
2159
+ */
2160
+ from?: string
2161
+ /**
2162
+ * Maximum number of snapshots to return, oldest first.
2163
+ */
2164
+ limit?: number
2165
+ }
2166
+
2167
+ export interface ContentMetricsPostSeriesOutput {
2168
+ /**
2169
+ * Snapshots oldest first. Readings over time, not a current value: reach keeps growing for weeks. Empty means nothing has been captured yet.
2170
+ */
2171
+ points: {
2172
+ /**
2173
+ * The snapshot as the adapter recorded it: the availability it reported, the cross-network metric set (a null field means the network does not report it — never zero), and the raw payload.
2174
+ */
2175
+ metrics: {
2176
+ [k: string]: unknown
2177
+ }
2178
+ /**
2179
+ * ISO-8601 time this snapshot was taken.
2180
+ */
2181
+ capturedAt: string
2182
+ }[]
2183
+ /**
2184
+ * The network the channel publishes to.
2185
+ */
2186
+ network: string
2187
+ /**
2188
+ * What this network reports for this account. "none" means no snapshot will ever be taken — a personal Instagram profile has no API at all; "basic" means fewer numbers than a business account gets, so an absent metric is the network's silence, not a zero.
2189
+ */
2190
+ analytics: ("full" | "basic" | "none")
2191
+ /**
2192
+ * The channel it was published to.
2193
+ */
2194
+ channelId: string
2195
+ /**
2196
+ * The publication these snapshots belong to.
2197
+ */
2198
+ publicationId: string
2199
+ }
2200
+
2201
+ export interface ContentPostsApproveInput {
2202
+ /**
2203
+ * The post id returned by content_posts_create.
2204
+ */
2205
+ id: string
2206
+ }
2207
+
2208
+ export interface ContentPostsApproveOutput {
2209
+ /**
2210
+ * Post id.
2211
+ */
2212
+ id: string
2213
+ /**
2214
+ * The current text of the post.
2215
+ */
2216
+ text: string
2217
+ /**
2218
+ * Media references attached to the current version.
2219
+ */
2220
+ media: string[]
2221
+ /**
2222
+ * Identity id of whoever composed the post.
2223
+ */
2224
+ author: string
2225
+ /**
2226
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2227
+ */
2228
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2229
+ /**
2230
+ * ISO-8601 creation time.
2231
+ */
2232
+ createdAt: string
2233
+ /**
2234
+ * ISO-8601 time of the last change.
2235
+ */
2236
+ updatedAt: string
2237
+ /**
2238
+ * Version number of the current text.
2239
+ */
2240
+ currentVersion: number
2241
+ /**
2242
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2243
+ */
2244
+ approvedVersion: (number | null)
2245
+ }
2246
+
2247
+ export interface ContentPostsAttachMediaInput {
2248
+ /**
2249
+ * The post id.
2250
+ */
2251
+ id: string
2252
+ /**
2253
+ * Media asset ids, in the order they should appear on the post.
2254
+ *
2255
+ * @minItems 1
2256
+ * @maxItems 20
2257
+ */
2258
+ mediaIds: [string]|[string, string]|[string, string, string]|[string, string, string, string]|[string, string, string, string, string]|[string, string, string, string, string, string]|[string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]
2259
+ }
2260
+
2261
+ export interface ContentPostsAttachMediaOutput {
2262
+ /**
2263
+ * Post id.
2264
+ */
2265
+ id: string
2266
+ /**
2267
+ * The current text of the post.
2268
+ */
2269
+ text: string
2270
+ /**
2271
+ * Media references attached to the current version.
2272
+ */
2273
+ media: string[]
2274
+ /**
2275
+ * Identity id of whoever composed the post.
2276
+ */
2277
+ author: string
2278
+ /**
2279
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2280
+ */
2281
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2282
+ /**
2283
+ * ISO-8601 creation time.
2284
+ */
2285
+ createdAt: string
2286
+ /**
2287
+ * ISO-8601 time of the last change.
2288
+ */
2289
+ updatedAt: string
2290
+ /**
2291
+ * Version number of the current text.
2292
+ */
2293
+ currentVersion: number
2294
+ /**
2295
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2296
+ */
2297
+ approvedVersion: (number | null)
2298
+ }
2299
+
2300
+ export interface ContentPostsCreateInput {
2301
+ /**
2302
+ * The post text, channel-independent. Per-channel variants come later, at publish time.
2303
+ */
2304
+ text: string
2305
+ /**
2306
+ * Media references attached to the post, in display order. Opaque strings — the toolkit does not upload or resolve them.
2307
+ *
2308
+ * @maxItems 20
2309
+ */
2310
+ 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]
2311
+ }
2312
+
2313
+ export interface ContentPostsCreateOutput {
2314
+ /**
2315
+ * Post id.
2316
+ */
2317
+ id: string
2318
+ /**
2319
+ * The current text of the post.
2320
+ */
2321
+ text: string
2322
+ /**
2323
+ * Media references attached to the current version.
2324
+ */
2325
+ media: string[]
2326
+ /**
2327
+ * Identity id of whoever composed the post.
2328
+ */
2329
+ author: string
2330
+ /**
2331
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2332
+ */
2333
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2334
+ /**
2335
+ * ISO-8601 creation time.
2336
+ */
2337
+ createdAt: string
2338
+ /**
2339
+ * ISO-8601 time of the last change.
2340
+ */
2341
+ updatedAt: string
2342
+ /**
2343
+ * Version number of the current text.
2344
+ */
2345
+ currentVersion: number
2346
+ /**
2347
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2348
+ */
2349
+ approvedVersion: (number | null)
2350
+ }
2351
+
2352
+ export interface ContentPostsDetachMediaInput {
2353
+ /**
2354
+ * The post id.
2355
+ */
2356
+ id: string
2357
+ /**
2358
+ * Media asset ids to remove from the post.
2359
+ *
2360
+ * @minItems 1
2361
+ * @maxItems 20
2362
+ */
2363
+ mediaIds: [string]|[string, string]|[string, string, string]|[string, string, string, string]|[string, string, string, string, string]|[string, string, string, string, string, string]|[string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]
2364
+ }
2365
+
2366
+ export interface ContentPostsDetachMediaOutput {
2367
+ /**
2368
+ * Post id.
2369
+ */
2370
+ id: string
2371
+ /**
2372
+ * The current text of the post.
2373
+ */
2374
+ text: string
2375
+ /**
2376
+ * Media references attached to the current version.
2377
+ */
2378
+ media: string[]
2379
+ /**
2380
+ * Identity id of whoever composed the post.
2381
+ */
2382
+ author: string
2383
+ /**
2384
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2385
+ */
2386
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2387
+ /**
2388
+ * ISO-8601 creation time.
2389
+ */
2390
+ createdAt: string
2391
+ /**
2392
+ * ISO-8601 time of the last change.
2393
+ */
2394
+ updatedAt: string
2395
+ /**
2396
+ * Version number of the current text.
2397
+ */
2398
+ currentVersion: number
2399
+ /**
2400
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2401
+ */
2402
+ approvedVersion: (number | null)
2403
+ }
2404
+
2405
+ export interface ContentPostsGetInput {
2406
+ /**
2407
+ * The post id returned by content_posts_create.
2408
+ */
2409
+ id: string
2410
+ }
2411
+
2412
+ export interface ContentPostsGetOutput {
2413
+ /**
2414
+ * Post id.
2415
+ */
2416
+ id: string
2417
+ /**
2418
+ * The current text of the post.
2419
+ */
2420
+ text: string
2421
+ /**
2422
+ * Media references attached to the current version.
2423
+ */
2424
+ media: string[]
2425
+ /**
2426
+ * Identity id of whoever composed the post.
2427
+ */
2428
+ author: string
2429
+ /**
2430
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2431
+ */
2432
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2433
+ /**
2434
+ * ISO-8601 creation time.
2435
+ */
2436
+ createdAt: string
2437
+ /**
2438
+ * ISO-8601 time of the last change.
2439
+ */
2440
+ updatedAt: string
2441
+ /**
2442
+ * Version number of the current text.
2443
+ */
2444
+ currentVersion: number
2445
+ /**
2446
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2447
+ */
2448
+ approvedVersion: (number | null)
2449
+ }
2450
+
2451
+ export interface ContentPostsListInput {
2452
+ /**
2453
+ * Maximum number of posts to return (1-100, default 50).
2454
+ */
2455
+ limit?: number
2456
+ /**
2457
+ * How many posts to skip, for paging.
2458
+ */
2459
+ offset?: number
2460
+ /**
2461
+ * Return only posts in this status.
2462
+ */
2463
+ status?: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2464
+ }
2465
+
2466
+ export interface ContentPostsListOutput {
2467
+ /**
2468
+ * The page of posts, newest first.
2469
+ */
2470
+ posts: {
2471
+ /**
2472
+ * Post id.
2473
+ */
2474
+ id: string
2475
+ /**
2476
+ * The current text of the post.
2477
+ */
2478
+ text: string
2479
+ /**
2480
+ * Media references attached to the current version.
2481
+ */
2482
+ media: string[]
2483
+ /**
2484
+ * Identity id of whoever composed the post.
2485
+ */
2486
+ author: string
2487
+ /**
2488
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2489
+ */
2490
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2491
+ /**
2492
+ * ISO-8601 creation time.
2493
+ */
2494
+ createdAt: string
2495
+ /**
2496
+ * ISO-8601 time of the last change.
2497
+ */
2498
+ updatedAt: string
2499
+ /**
2500
+ * Version number of the current text.
2501
+ */
2502
+ currentVersion: number
2503
+ /**
2504
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2505
+ */
2506
+ approvedVersion: (number | null)
2507
+ }[]
2508
+ /**
2509
+ * Total number of matching posts, ignoring paging.
2510
+ */
2511
+ total: number
2512
+ }
2513
+
2514
+ export interface ContentPostsSubmitInput {
2515
+ /**
2516
+ * The post id returned by content_posts_create.
2517
+ */
2518
+ id: string
2519
+ }
2520
+
2521
+ export interface ContentPostsSubmitOutput {
2522
+ /**
2523
+ * Post id.
2524
+ */
2525
+ id: string
2526
+ /**
2527
+ * The current text of the post.
2528
+ */
2529
+ text: string
2530
+ /**
2531
+ * Media references attached to the current version.
2532
+ */
2533
+ media: string[]
2534
+ /**
2535
+ * Identity id of whoever composed the post.
2536
+ */
2537
+ author: string
2538
+ /**
2539
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2540
+ */
2541
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2542
+ /**
2543
+ * ISO-8601 creation time.
2544
+ */
2545
+ createdAt: string
2546
+ /**
2547
+ * ISO-8601 time of the last change.
2548
+ */
2549
+ updatedAt: string
2550
+ /**
2551
+ * Version number of the current text.
2552
+ */
2553
+ currentVersion: number
2554
+ /**
2555
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2556
+ */
2557
+ approvedVersion: (number | null)
2558
+ }
2559
+
2560
+ export interface ContentPostsUpdateInput {
2561
+ /**
2562
+ * The post id returned by content_posts_create.
2563
+ */
2564
+ id: string
2565
+ /**
2566
+ * Replacement text. Omit to keep the current text.
2567
+ */
2568
+ text?: string
2569
+ /**
2570
+ * Replacement media list (replaces, never merges). Omit to keep the current media.
2571
+ *
2572
+ * @maxItems 20
2573
+ */
2574
+ 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]
2575
+ }
2576
+
2577
+ export interface ContentPostsUpdateOutput {
2578
+ /**
2579
+ * Post id.
2580
+ */
2581
+ id: string
2582
+ /**
2583
+ * The current text of the post.
2584
+ */
2585
+ text: string
2586
+ /**
2587
+ * Media references attached to the current version.
2588
+ */
2589
+ media: string[]
2590
+ /**
2591
+ * Identity id of whoever composed the post.
2592
+ */
2593
+ author: string
2594
+ /**
2595
+ * Post lifecycle status: draft (being written) -> pending_approval (submitted) -> approved (cleared to publish); scheduled/published/failed are set by the publishing pipeline.
2596
+ */
2597
+ status: ("draft" | "pending_approval" | "approved" | "scheduled" | "published" | "failed")
2598
+ /**
2599
+ * ISO-8601 creation time.
2600
+ */
2601
+ createdAt: string
2602
+ /**
2603
+ * ISO-8601 time of the last change.
2604
+ */
2605
+ updatedAt: string
2606
+ /**
2607
+ * Version number of the current text.
2608
+ */
2609
+ currentVersion: number
2610
+ /**
2611
+ * The version an approval binds to, or null. Cleared on every edit: approving one text never covers another.
2612
+ */
2613
+ approvedVersion: (number | null)
2614
+ }
2615
+
2616
+ export interface ContentPostsVersionsInput {
2617
+ /**
2618
+ * The post id returned by content_posts_create.
2619
+ */
2620
+ id: string
2621
+ }
2622
+
2623
+ export interface ContentPostsVersionsOutput {
2624
+ /**
2625
+ * The post these versions belong to.
2626
+ */
2627
+ postId: string
2628
+ /**
2629
+ * Every version, oldest first.
2630
+ */
2631
+ versions: {
2632
+ /**
2633
+ * The text as it stood at this version.
2634
+ */
2635
+ text: string
2636
+ /**
2637
+ * Media references as they stood at this version.
2638
+ */
2639
+ media: string[]
2640
+ /**
2641
+ * Post the version belongs to.
2642
+ */
2643
+ postId: string
2644
+ /**
2645
+ * Version number, starting at 1.
2646
+ */
2647
+ version: number
2648
+ /**
2649
+ * ISO-8601 time the version was recorded.
2650
+ */
2651
+ createdAt: string
2652
+ /**
2653
+ * Identity id of whoever produced this version.
2654
+ */
2655
+ createdBy: string
2656
+ }[]
2657
+ }
2658
+
2659
+ export interface ContentPublicationsCancelInput {
2660
+ /**
2661
+ * The publication id returned by content_publications_schedule.
2662
+ */
2663
+ id: string
2664
+ }
2665
+
2666
+ export interface ContentPublicationsCancelOutput {
2667
+ /**
2668
+ * Publication id.
2669
+ */
2670
+ id: string
2671
+ /**
2672
+ * The per-channel variant of the text that will be published.
2673
+ */
2674
+ text: string
2675
+ /**
2676
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2677
+ */
2678
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2679
+ /**
2680
+ * The post being published.
2681
+ */
2682
+ postId: string
2683
+ /**
2684
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
2685
+ */
2686
+ costUsd: (number | null)
2687
+ /**
2688
+ * How many dispatch attempts have been made.
2689
+ */
2690
+ attempts: number
2691
+ /**
2692
+ * The channel it is published to.
2693
+ */
2694
+ channelId: string
2695
+ /**
2696
+ * Which rate produced costUsd: "plain", "link" or "free".
2697
+ */
2698
+ costBasis: (string | null)
2699
+ /**
2700
+ * ISO-8601 creation time.
2701
+ */
2702
+ createdAt: string
2703
+ /**
2704
+ * The most recent failure, if any.
2705
+ */
2706
+ lastError: (string | null)
2707
+ /**
2708
+ * ISO-8601 time of the last change.
2709
+ */
2710
+ updatedAt: string
2711
+ /**
2712
+ * The network's id for the published post, once known.
2713
+ */
2714
+ externalId: (string | null)
2715
+ /**
2716
+ * URL of the published post, once known.
2717
+ */
2718
+ externalUrl: (string | null)
2719
+ /**
2720
+ * ISO-8601 time it was confirmed published.
2721
+ */
2722
+ publishedAt: (string | null)
2723
+ /**
2724
+ * ISO-8601 time the publication is due.
2725
+ */
2726
+ scheduledAt: string
2727
+ /**
2728
+ * How many reminders have been sent for this publication.
2729
+ */
2730
+ reminderCount: number
2731
+ /**
2732
+ * The key that makes a retry the same publication.
2733
+ */
2734
+ idempotencyKey: string
2735
+ /**
2736
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2737
+ */
2738
+ reminderSentAt: (string | null)
2739
+ }
2740
+
2741
+ export interface ContentPublicationsConfirmInput {
2742
+ /**
2743
+ * The publication id returned by content_publications_schedule.
2744
+ */
2745
+ id: string
2746
+ /**
2747
+ * The network's own id for the post, if known.
2748
+ */
2749
+ externalId?: string
2750
+ /**
2751
+ * URL of the post the person actually published. Worth supplying — it is what identifies the post later.
2752
+ */
2753
+ externalUrl?: string
2754
+ }
2755
+
2756
+ export interface ContentPublicationsConfirmOutput {
2757
+ /**
2758
+ * Publication id.
2759
+ */
2760
+ id: string
2761
+ /**
2762
+ * The per-channel variant of the text that will be published.
2763
+ */
2764
+ text: string
2765
+ /**
2766
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2767
+ */
2768
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2769
+ /**
2770
+ * The post being published.
2771
+ */
2772
+ postId: string
2773
+ /**
2774
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
2775
+ */
2776
+ costUsd: (number | null)
2777
+ /**
2778
+ * How many dispatch attempts have been made.
2779
+ */
2780
+ attempts: number
2781
+ /**
2782
+ * The channel it is published to.
2783
+ */
2784
+ channelId: string
2785
+ /**
2786
+ * Which rate produced costUsd: "plain", "link" or "free".
2787
+ */
2788
+ costBasis: (string | null)
2789
+ /**
2790
+ * ISO-8601 creation time.
2791
+ */
2792
+ createdAt: string
2793
+ /**
2794
+ * The most recent failure, if any.
2795
+ */
2796
+ lastError: (string | null)
2797
+ /**
2798
+ * ISO-8601 time of the last change.
2799
+ */
2800
+ updatedAt: string
2801
+ /**
2802
+ * The network's id for the published post, once known.
2803
+ */
2804
+ externalId: (string | null)
2805
+ /**
2806
+ * URL of the published post, once known.
2807
+ */
2808
+ externalUrl: (string | null)
2809
+ /**
2810
+ * ISO-8601 time it was confirmed published.
2811
+ */
2812
+ publishedAt: (string | null)
2813
+ /**
2814
+ * ISO-8601 time the publication is due.
2815
+ */
2816
+ scheduledAt: string
2817
+ /**
2818
+ * How many reminders have been sent for this publication.
2819
+ */
2820
+ reminderCount: number
2821
+ /**
2822
+ * The key that makes a retry the same publication.
2823
+ */
2824
+ idempotencyKey: string
2825
+ /**
2826
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2827
+ */
2828
+ reminderSentAt: (string | null)
2829
+ }
2830
+
2831
+ export interface ContentPublicationsGetInput {
2832
+ /**
2833
+ * The publication id returned by content_publications_schedule.
2834
+ */
2835
+ id: string
2836
+ }
2837
+
2838
+ export interface ContentPublicationsGetOutput {
2839
+ /**
2840
+ * Publication id.
2841
+ */
2842
+ id: string
2843
+ /**
2844
+ * The per-channel variant of the text that will be published.
2845
+ */
2846
+ text: string
2847
+ /**
2848
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2849
+ */
2850
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2851
+ /**
2852
+ * The post being published.
2853
+ */
2854
+ postId: string
2855
+ /**
2856
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
2857
+ */
2858
+ costUsd: (number | null)
2859
+ /**
2860
+ * How many dispatch attempts have been made.
2861
+ */
2862
+ attempts: number
2863
+ /**
2864
+ * The channel it is published to.
2865
+ */
2866
+ channelId: string
2867
+ /**
2868
+ * Which rate produced costUsd: "plain", "link" or "free".
2869
+ */
2870
+ costBasis: (string | null)
2871
+ /**
2872
+ * ISO-8601 creation time.
2873
+ */
2874
+ createdAt: string
2875
+ /**
2876
+ * The most recent failure, if any.
2877
+ */
2878
+ lastError: (string | null)
2879
+ /**
2880
+ * ISO-8601 time of the last change.
2881
+ */
2882
+ updatedAt: string
2883
+ /**
2884
+ * The network's id for the published post, once known.
2885
+ */
2886
+ externalId: (string | null)
2887
+ /**
2888
+ * URL of the published post, once known.
2889
+ */
2890
+ externalUrl: (string | null)
2891
+ /**
2892
+ * ISO-8601 time it was confirmed published.
2893
+ */
2894
+ publishedAt: (string | null)
2895
+ /**
2896
+ * ISO-8601 time the publication is due.
2897
+ */
2898
+ scheduledAt: string
2899
+ /**
2900
+ * How many reminders have been sent for this publication.
2901
+ */
2902
+ reminderCount: number
2903
+ /**
2904
+ * The key that makes a retry the same publication.
2905
+ */
2906
+ idempotencyKey: string
2907
+ /**
2908
+ * ISO-8601 time the most recent reminder went out, or null if none has.
2909
+ */
2910
+ reminderSentAt: (string | null)
2911
+ }
2912
+
2913
+ export interface ContentPublicationsListInput {
2914
+ /**
2915
+ * Maximum number to return (1-100, default 50).
2916
+ */
2917
+ limit?: number
2918
+ /**
2919
+ * Return only publications in this state.
2920
+ */
2921
+ state?: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2922
+ /**
2923
+ * How many to skip, for paging.
2924
+ */
2925
+ offset?: number
2926
+ /**
2927
+ * Return only publications of this post.
2928
+ */
2929
+ postId?: string
2930
+ /**
2931
+ * Return only publications to this channel.
2932
+ */
2933
+ channelId?: string
2934
+ }
2935
+
2936
+ export interface ContentPublicationsListOutput {
2937
+ /**
2938
+ * Total number of matching publications, ignoring paging.
2939
+ */
2940
+ total: number
2941
+ /**
2942
+ * The page of publications, newest slot first.
2943
+ */
2944
+ publications: {
2945
+ /**
2946
+ * Publication id.
2947
+ */
2948
+ id: string
2949
+ /**
2950
+ * The per-channel variant of the text that will be published.
2951
+ */
2952
+ text: string
2953
+ /**
2954
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
2955
+ */
2956
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
2957
+ /**
2958
+ * The post being published.
2959
+ */
2960
+ postId: string
2961
+ /**
2962
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
2963
+ */
2964
+ costUsd: (number | null)
2965
+ /**
2966
+ * How many dispatch attempts have been made.
2967
+ */
2968
+ attempts: number
2969
+ /**
2970
+ * The channel it is published to.
2971
+ */
2972
+ channelId: string
2973
+ /**
2974
+ * Which rate produced costUsd: "plain", "link" or "free".
2975
+ */
2976
+ costBasis: (string | null)
2977
+ /**
2978
+ * ISO-8601 creation time.
2979
+ */
2980
+ createdAt: string
2981
+ /**
2982
+ * The most recent failure, if any.
2983
+ */
2984
+ lastError: (string | null)
2985
+ /**
2986
+ * ISO-8601 time of the last change.
2987
+ */
2988
+ updatedAt: string
2989
+ /**
2990
+ * The network's id for the published post, once known.
2991
+ */
2992
+ externalId: (string | null)
2993
+ /**
2994
+ * URL of the published post, once known.
2995
+ */
2996
+ externalUrl: (string | null)
2997
+ /**
2998
+ * ISO-8601 time it was confirmed published.
2999
+ */
3000
+ publishedAt: (string | null)
3001
+ /**
3002
+ * ISO-8601 time the publication is due.
3003
+ */
3004
+ scheduledAt: string
3005
+ /**
3006
+ * How many reminders have been sent for this publication.
3007
+ */
3008
+ reminderCount: number
3009
+ /**
3010
+ * The key that makes a retry the same publication.
3011
+ */
3012
+ idempotencyKey: string
3013
+ /**
3014
+ * ISO-8601 time the most recent reminder went out, or null if none has.
3015
+ */
3016
+ reminderSentAt: (string | null)
3017
+ }[]
3018
+ }
3019
+
3020
+ export interface ContentPublicationsPublishInput {
3021
+ /**
3022
+ * Per-channel variant of the text. Omit to publish the post text as written.
3023
+ */
3024
+ text?: string
3025
+ /**
3026
+ * The post to publish. It must already be approved.
3027
+ */
3028
+ postId: string
3029
+ /**
3030
+ * The channel to publish to.
3031
+ */
3032
+ channelId: string
3033
+ /**
3034
+ * 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.
3035
+ */
3036
+ idempotencyKey?: string
3037
+ }
3038
+
3039
+ export interface ContentPublicationsPublishOutput {
3040
+ /**
3041
+ * Publication id.
3042
+ */
3043
+ id: string
3044
+ /**
3045
+ * The per-channel variant of the text that will be published.
3046
+ */
3047
+ text: string
3048
+ /**
3049
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
3050
+ */
3051
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
3052
+ /**
3053
+ * The post being published.
3054
+ */
3055
+ postId: string
3056
+ /**
3057
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
3058
+ */
3059
+ costUsd: (number | null)
3060
+ /**
3061
+ * How many dispatch attempts have been made.
3062
+ */
3063
+ attempts: number
3064
+ /**
3065
+ * The channel it is published to.
3066
+ */
3067
+ channelId: string
3068
+ /**
3069
+ * Which rate produced costUsd: "plain", "link" or "free".
3070
+ */
3071
+ costBasis: (string | null)
3072
+ /**
3073
+ * ISO-8601 creation time.
3074
+ */
3075
+ createdAt: string
3076
+ /**
3077
+ * The most recent failure, if any.
3078
+ */
3079
+ lastError: (string | null)
3080
+ /**
3081
+ * ISO-8601 time of the last change.
3082
+ */
3083
+ updatedAt: string
3084
+ /**
3085
+ * The network's id for the published post, once known.
3086
+ */
3087
+ externalId: (string | null)
3088
+ /**
3089
+ * URL of the published post, once known.
3090
+ */
3091
+ externalUrl: (string | null)
3092
+ /**
3093
+ * ISO-8601 time it was confirmed published.
3094
+ */
3095
+ publishedAt: (string | null)
3096
+ /**
3097
+ * ISO-8601 time the publication is due.
3098
+ */
3099
+ scheduledAt: string
3100
+ /**
3101
+ * How many reminders have been sent for this publication.
3102
+ */
3103
+ reminderCount: number
3104
+ /**
3105
+ * The key that makes a retry the same publication.
3106
+ */
3107
+ idempotencyKey: string
3108
+ /**
3109
+ * ISO-8601 time the most recent reminder went out, or null if none has.
3110
+ */
3111
+ reminderSentAt: (string | null)
3112
+ }
3113
+
3114
+ export interface ContentPublicationsRemindInput {
3115
+ /**
3116
+ * The publication id returned by content_publications_schedule.
3117
+ */
3118
+ id: string
3119
+ }
3120
+
3121
+ export interface ContentPublicationsRemindOutput {
3122
+ /**
3123
+ * Publication id.
3124
+ */
3125
+ id: string
3126
+ /**
3127
+ * The per-channel variant of the text that will be published.
3128
+ */
3129
+ text: string
3130
+ /**
3131
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
3132
+ */
3133
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
3134
+ /**
3135
+ * The post being published.
3136
+ */
3137
+ postId: string
3138
+ /**
3139
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
3140
+ */
3141
+ costUsd: (number | null)
3142
+ /**
3143
+ * How many dispatch attempts have been made.
3144
+ */
3145
+ attempts: number
3146
+ /**
3147
+ * The channel it is published to.
3148
+ */
3149
+ channelId: string
3150
+ /**
3151
+ * Which rate produced costUsd: "plain", "link" or "free".
3152
+ */
3153
+ costBasis: (string | null)
3154
+ /**
3155
+ * ISO-8601 creation time.
3156
+ */
3157
+ createdAt: string
3158
+ /**
3159
+ * The most recent failure, if any.
3160
+ */
3161
+ lastError: (string | null)
3162
+ /**
3163
+ * ISO-8601 time of the last change.
3164
+ */
3165
+ updatedAt: string
3166
+ /**
3167
+ * The network's id for the published post, once known.
3168
+ */
3169
+ externalId: (string | null)
3170
+ /**
3171
+ * URL of the published post, once known.
3172
+ */
3173
+ externalUrl: (string | null)
3174
+ /**
3175
+ * ISO-8601 time it was confirmed published.
3176
+ */
3177
+ publishedAt: (string | null)
3178
+ /**
3179
+ * ISO-8601 time the publication is due.
3180
+ */
3181
+ scheduledAt: string
3182
+ /**
3183
+ * How many reminders have been sent for this publication.
3184
+ */
3185
+ reminderCount: number
3186
+ /**
3187
+ * The key that makes a retry the same publication.
3188
+ */
3189
+ idempotencyKey: string
3190
+ /**
3191
+ * ISO-8601 time the most recent reminder went out, or null if none has.
3192
+ */
3193
+ reminderSentAt: (string | null)
3194
+ }
3195
+
3196
+ export interface ContentPublicationsRescheduleInput {
3197
+ /**
3198
+ * The publication id returned by content_publications_schedule.
3199
+ */
3200
+ id: string
3201
+ /**
3202
+ * New ISO-8601 time. The publication returns to the queue.
3203
+ */
3204
+ scheduledAt: string
3205
+ }
3206
+
3207
+ export interface ContentPublicationsRescheduleOutput {
3208
+ /**
3209
+ * Publication id.
3210
+ */
3211
+ id: string
3212
+ /**
3213
+ * The per-channel variant of the text that will be published.
3214
+ */
3215
+ text: string
3216
+ /**
3217
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
3218
+ */
3219
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
3220
+ /**
3221
+ * The post being published.
3222
+ */
3223
+ postId: string
3224
+ /**
3225
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
3226
+ */
3227
+ costUsd: (number | null)
3228
+ /**
3229
+ * How many dispatch attempts have been made.
3230
+ */
3231
+ attempts: number
3232
+ /**
3233
+ * The channel it is published to.
3234
+ */
3235
+ channelId: string
3236
+ /**
3237
+ * Which rate produced costUsd: "plain", "link" or "free".
3238
+ */
3239
+ costBasis: (string | null)
3240
+ /**
3241
+ * ISO-8601 creation time.
3242
+ */
3243
+ createdAt: string
3244
+ /**
3245
+ * The most recent failure, if any.
3246
+ */
3247
+ lastError: (string | null)
3248
+ /**
3249
+ * ISO-8601 time of the last change.
3250
+ */
3251
+ updatedAt: string
3252
+ /**
3253
+ * The network's id for the published post, once known.
3254
+ */
3255
+ externalId: (string | null)
3256
+ /**
3257
+ * URL of the published post, once known.
3258
+ */
3259
+ externalUrl: (string | null)
3260
+ /**
3261
+ * ISO-8601 time it was confirmed published.
3262
+ */
3263
+ publishedAt: (string | null)
3264
+ /**
3265
+ * ISO-8601 time the publication is due.
3266
+ */
3267
+ scheduledAt: string
3268
+ /**
3269
+ * How many reminders have been sent for this publication.
3270
+ */
3271
+ reminderCount: number
3272
+ /**
3273
+ * The key that makes a retry the same publication.
3274
+ */
3275
+ idempotencyKey: string
3276
+ /**
3277
+ * ISO-8601 time the most recent reminder went out, or null if none has.
3278
+ */
3279
+ reminderSentAt: (string | null)
3280
+ }
3281
+
3282
+ export interface ContentPublicationsScheduleInput {
3283
+ /**
3284
+ * Per-channel variant of the text. Omit to publish the post text as written.
3285
+ */
3286
+ text?: string
3287
+ /**
3288
+ * The post to publish. It must already be approved — an unapproved text never publishes.
3289
+ */
3290
+ postId: string
3291
+ /**
3292
+ * The channel to publish to. Get its character limit from content_channels_get first.
3293
+ */
3294
+ channelId: string
3295
+ /**
3296
+ * ISO-8601 time to publish. In the past means "as soon as the next tick runs".
3297
+ */
3298
+ scheduledAt: string
3299
+ /**
3300
+ * 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.
3301
+ */
3302
+ idempotencyKey?: string
3303
+ }
3304
+
3305
+ export interface ContentPublicationsScheduleOutput {
3306
+ /**
3307
+ * Publication id.
3308
+ */
3309
+ id: string
3310
+ /**
3311
+ * The per-channel variant of the text that will be published.
3312
+ */
3313
+ text: string
3314
+ /**
3315
+ * pending (queued) -> publishing (the reminder was sent; a person is publishing by hand) -> published (confirmed) | failed | cancelled.
3316
+ */
3317
+ state: ("pending" | "publishing" | "published" | "failed" | "cancelled")
3318
+ /**
3319
+ * The post being published.
3320
+ */
3321
+ postId: string
3322
+ /**
3323
+ * What publishing this costs in USD, computed when it was scheduled. On X a post carrying a link costs 13x a plain one. Null means the cost is not known — an auto channel refuses to dispatch it.
3324
+ */
3325
+ costUsd: (number | null)
3326
+ /**
3327
+ * How many dispatch attempts have been made.
3328
+ */
3329
+ attempts: number
3330
+ /**
3331
+ * The channel it is published to.
3332
+ */
3333
+ channelId: string
3334
+ /**
3335
+ * Which rate produced costUsd: "plain", "link" or "free".
3336
+ */
3337
+ costBasis: (string | null)
3338
+ /**
3339
+ * ISO-8601 creation time.
3340
+ */
3341
+ createdAt: string
3342
+ /**
3343
+ * The most recent failure, if any.
3344
+ */
3345
+ lastError: (string | null)
3346
+ /**
3347
+ * ISO-8601 time of the last change.
3348
+ */
3349
+ updatedAt: string
3350
+ /**
3351
+ * The network's id for the published post, once known.
3352
+ */
3353
+ externalId: (string | null)
3354
+ /**
3355
+ * URL of the published post, once known.
3356
+ */
3357
+ externalUrl: (string | null)
3358
+ /**
3359
+ * ISO-8601 time it was confirmed published.
3360
+ */
3361
+ publishedAt: (string | null)
3362
+ /**
3363
+ * ISO-8601 time the publication is due.
3364
+ */
3365
+ scheduledAt: string
3366
+ /**
3367
+ * How many reminders have been sent for this publication.
3368
+ */
3369
+ reminderCount: number
3370
+ /**
3371
+ * The key that makes a retry the same publication.
3372
+ */
3373
+ idempotencyKey: string
3374
+ /**
3375
+ * ISO-8601 time the most recent reminder went out, or null if none has.
3376
+ */
3377
+ reminderSentAt: (string | null)
3378
+ }
3379
+
3380
+ export interface ContentPublicationsValidateInput {
3381
+ /**
3382
+ * The post to check. It does not have to be approved yet — this never publishes.
3383
+ */
3384
+ postId: string
3385
+ /**
3386
+ * One entry per channel you are considering. Check them all in one call.
3387
+ *
3388
+ * @minItems 1
3389
+ * @maxItems 20
3390
+ */
3391
+ channels: [{
3392
+ /**
3393
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3394
+ */
3395
+ text?: string
3396
+ /**
3397
+ * A channel to check this post against.
3398
+ */
3399
+ channelId: string
3400
+ }]|[{
3401
+ /**
3402
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3403
+ */
3404
+ text?: string
3405
+ /**
3406
+ * A channel to check this post against.
3407
+ */
3408
+ channelId: string
3409
+ }, {
3410
+ /**
3411
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3412
+ */
3413
+ text?: string
3414
+ /**
3415
+ * A channel to check this post against.
3416
+ */
3417
+ channelId: string
3418
+ }]|[{
3419
+ /**
3420
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3421
+ */
3422
+ text?: string
3423
+ /**
3424
+ * A channel to check this post against.
3425
+ */
3426
+ channelId: string
3427
+ }, {
3428
+ /**
3429
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3430
+ */
3431
+ text?: string
3432
+ /**
3433
+ * A channel to check this post against.
3434
+ */
3435
+ channelId: string
3436
+ }, {
3437
+ /**
3438
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3439
+ */
3440
+ text?: string
3441
+ /**
3442
+ * A channel to check this post against.
3443
+ */
3444
+ channelId: string
3445
+ }]|[{
3446
+ /**
3447
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3448
+ */
3449
+ text?: string
3450
+ /**
3451
+ * A channel to check this post against.
3452
+ */
3453
+ channelId: string
3454
+ }, {
3455
+ /**
3456
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3457
+ */
3458
+ text?: string
3459
+ /**
3460
+ * A channel to check this post against.
3461
+ */
3462
+ channelId: string
3463
+ }, {
3464
+ /**
3465
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3466
+ */
3467
+ text?: string
3468
+ /**
3469
+ * A channel to check this post against.
3470
+ */
3471
+ channelId: string
3472
+ }, {
3473
+ /**
3474
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3475
+ */
3476
+ text?: string
3477
+ /**
3478
+ * A channel to check this post against.
3479
+ */
3480
+ channelId: string
3481
+ }]|[{
3482
+ /**
3483
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3484
+ */
3485
+ text?: string
3486
+ /**
3487
+ * A channel to check this post against.
3488
+ */
3489
+ channelId: string
3490
+ }, {
3491
+ /**
3492
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3493
+ */
3494
+ text?: string
3495
+ /**
3496
+ * A channel to check this post against.
3497
+ */
3498
+ channelId: string
3499
+ }, {
3500
+ /**
3501
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3502
+ */
3503
+ text?: string
3504
+ /**
3505
+ * A channel to check this post against.
3506
+ */
3507
+ channelId: string
3508
+ }, {
3509
+ /**
3510
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3511
+ */
3512
+ text?: string
3513
+ /**
3514
+ * A channel to check this post against.
3515
+ */
3516
+ channelId: string
3517
+ }, {
3518
+ /**
3519
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3520
+ */
3521
+ text?: string
3522
+ /**
3523
+ * A channel to check this post against.
3524
+ */
3525
+ channelId: string
3526
+ }]|[{
3527
+ /**
3528
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3529
+ */
3530
+ text?: string
3531
+ /**
3532
+ * A channel to check this post against.
3533
+ */
3534
+ channelId: string
3535
+ }, {
3536
+ /**
3537
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3538
+ */
3539
+ text?: string
3540
+ /**
3541
+ * A channel to check this post against.
3542
+ */
3543
+ channelId: string
3544
+ }, {
3545
+ /**
3546
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3547
+ */
3548
+ text?: string
3549
+ /**
3550
+ * A channel to check this post against.
3551
+ */
3552
+ channelId: string
3553
+ }, {
3554
+ /**
3555
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3556
+ */
3557
+ text?: string
3558
+ /**
3559
+ * A channel to check this post against.
3560
+ */
3561
+ channelId: string
3562
+ }, {
3563
+ /**
3564
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3565
+ */
3566
+ text?: string
3567
+ /**
3568
+ * A channel to check this post against.
3569
+ */
3570
+ channelId: string
3571
+ }, {
3572
+ /**
3573
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3574
+ */
3575
+ text?: string
3576
+ /**
3577
+ * A channel to check this post against.
3578
+ */
3579
+ channelId: string
3580
+ }]|[{
3581
+ /**
3582
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3583
+ */
3584
+ text?: string
3585
+ /**
3586
+ * A channel to check this post against.
3587
+ */
3588
+ channelId: string
3589
+ }, {
3590
+ /**
3591
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3592
+ */
3593
+ text?: string
3594
+ /**
3595
+ * A channel to check this post against.
3596
+ */
3597
+ channelId: string
3598
+ }, {
3599
+ /**
3600
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3601
+ */
3602
+ text?: string
3603
+ /**
3604
+ * A channel to check this post against.
3605
+ */
3606
+ channelId: string
3607
+ }, {
3608
+ /**
3609
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3610
+ */
3611
+ text?: string
3612
+ /**
3613
+ * A channel to check this post against.
3614
+ */
3615
+ channelId: string
3616
+ }, {
3617
+ /**
3618
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3619
+ */
3620
+ text?: string
3621
+ /**
3622
+ * A channel to check this post against.
3623
+ */
3624
+ channelId: string
3625
+ }, {
3626
+ /**
3627
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3628
+ */
3629
+ text?: string
3630
+ /**
3631
+ * A channel to check this post against.
3632
+ */
3633
+ channelId: string
3634
+ }, {
3635
+ /**
3636
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3637
+ */
3638
+ text?: string
3639
+ /**
3640
+ * A channel to check this post against.
3641
+ */
3642
+ channelId: string
3643
+ }]|[{
3644
+ /**
3645
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3646
+ */
3647
+ text?: string
3648
+ /**
3649
+ * A channel to check this post against.
3650
+ */
3651
+ channelId: string
3652
+ }, {
3653
+ /**
3654
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3655
+ */
3656
+ text?: string
3657
+ /**
3658
+ * A channel to check this post against.
3659
+ */
3660
+ channelId: string
3661
+ }, {
3662
+ /**
3663
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3664
+ */
3665
+ text?: string
3666
+ /**
3667
+ * A channel to check this post against.
3668
+ */
3669
+ channelId: string
3670
+ }, {
3671
+ /**
3672
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3673
+ */
3674
+ text?: string
3675
+ /**
3676
+ * A channel to check this post against.
3677
+ */
3678
+ channelId: string
3679
+ }, {
3680
+ /**
3681
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3682
+ */
3683
+ text?: string
3684
+ /**
3685
+ * A channel to check this post against.
3686
+ */
3687
+ channelId: string
3688
+ }, {
3689
+ /**
3690
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3691
+ */
3692
+ text?: string
3693
+ /**
3694
+ * A channel to check this post against.
3695
+ */
3696
+ channelId: string
3697
+ }, {
3698
+ /**
3699
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3700
+ */
3701
+ text?: string
3702
+ /**
3703
+ * A channel to check this post against.
3704
+ */
3705
+ channelId: string
3706
+ }, {
3707
+ /**
3708
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3709
+ */
3710
+ text?: string
3711
+ /**
3712
+ * A channel to check this post against.
3713
+ */
3714
+ channelId: string
3715
+ }]|[{
3716
+ /**
3717
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3718
+ */
3719
+ text?: string
3720
+ /**
3721
+ * A channel to check this post against.
3722
+ */
3723
+ channelId: string
3724
+ }, {
3725
+ /**
3726
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3727
+ */
3728
+ text?: string
3729
+ /**
3730
+ * A channel to check this post against.
3731
+ */
3732
+ channelId: string
3733
+ }, {
3734
+ /**
3735
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3736
+ */
3737
+ text?: string
3738
+ /**
3739
+ * A channel to check this post against.
3740
+ */
3741
+ channelId: string
3742
+ }, {
3743
+ /**
3744
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3745
+ */
3746
+ text?: string
3747
+ /**
3748
+ * A channel to check this post against.
3749
+ */
3750
+ channelId: string
3751
+ }, {
3752
+ /**
3753
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3754
+ */
3755
+ text?: string
3756
+ /**
3757
+ * A channel to check this post against.
3758
+ */
3759
+ channelId: string
3760
+ }, {
3761
+ /**
3762
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3763
+ */
3764
+ text?: string
3765
+ /**
3766
+ * A channel to check this post against.
3767
+ */
3768
+ channelId: string
3769
+ }, {
3770
+ /**
3771
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3772
+ */
3773
+ text?: string
3774
+ /**
3775
+ * A channel to check this post against.
3776
+ */
3777
+ channelId: string
3778
+ }, {
3779
+ /**
3780
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3781
+ */
3782
+ text?: string
3783
+ /**
3784
+ * A channel to check this post against.
3785
+ */
3786
+ channelId: string
3787
+ }, {
3788
+ /**
3789
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3790
+ */
3791
+ text?: string
3792
+ /**
3793
+ * A channel to check this post against.
3794
+ */
3795
+ channelId: string
3796
+ }]|[{
3797
+ /**
3798
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3799
+ */
3800
+ text?: string
3801
+ /**
3802
+ * A channel to check this post against.
3803
+ */
3804
+ channelId: string
3805
+ }, {
3806
+ /**
3807
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3808
+ */
3809
+ text?: string
3810
+ /**
3811
+ * A channel to check this post against.
3812
+ */
3813
+ channelId: string
3814
+ }, {
3815
+ /**
3816
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3817
+ */
3818
+ text?: string
3819
+ /**
3820
+ * A channel to check this post against.
3821
+ */
3822
+ channelId: string
3823
+ }, {
3824
+ /**
3825
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3826
+ */
3827
+ text?: string
3828
+ /**
3829
+ * A channel to check this post against.
3830
+ */
3831
+ channelId: string
3832
+ }, {
3833
+ /**
3834
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3835
+ */
3836
+ text?: string
3837
+ /**
3838
+ * A channel to check this post against.
3839
+ */
3840
+ channelId: string
3841
+ }, {
3842
+ /**
3843
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3844
+ */
3845
+ text?: string
3846
+ /**
3847
+ * A channel to check this post against.
3848
+ */
3849
+ channelId: string
3850
+ }, {
3851
+ /**
3852
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3853
+ */
3854
+ text?: string
3855
+ /**
3856
+ * A channel to check this post against.
3857
+ */
3858
+ channelId: string
3859
+ }, {
3860
+ /**
3861
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3862
+ */
3863
+ text?: string
3864
+ /**
3865
+ * A channel to check this post against.
3866
+ */
3867
+ channelId: string
3868
+ }, {
3869
+ /**
3870
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3871
+ */
3872
+ text?: string
3873
+ /**
3874
+ * A channel to check this post against.
3875
+ */
3876
+ channelId: string
3877
+ }, {
3878
+ /**
3879
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3880
+ */
3881
+ text?: string
3882
+ /**
3883
+ * A channel to check this post against.
3884
+ */
3885
+ channelId: string
3886
+ }]|[{
3887
+ /**
3888
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3889
+ */
3890
+ text?: string
3891
+ /**
3892
+ * A channel to check this post against.
3893
+ */
3894
+ channelId: string
3895
+ }, {
3896
+ /**
3897
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3898
+ */
3899
+ text?: string
3900
+ /**
3901
+ * A channel to check this post against.
3902
+ */
3903
+ channelId: string
3904
+ }, {
3905
+ /**
3906
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3907
+ */
3908
+ text?: string
3909
+ /**
3910
+ * A channel to check this post against.
3911
+ */
3912
+ channelId: string
3913
+ }, {
3914
+ /**
3915
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3916
+ */
3917
+ text?: string
3918
+ /**
3919
+ * A channel to check this post against.
3920
+ */
3921
+ channelId: string
3922
+ }, {
3923
+ /**
3924
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3925
+ */
3926
+ text?: string
3927
+ /**
3928
+ * A channel to check this post against.
3929
+ */
3930
+ channelId: string
3931
+ }, {
3932
+ /**
3933
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3934
+ */
3935
+ text?: string
3936
+ /**
3937
+ * A channel to check this post against.
3938
+ */
3939
+ channelId: string
3940
+ }, {
3941
+ /**
3942
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3943
+ */
3944
+ text?: string
3945
+ /**
3946
+ * A channel to check this post against.
3947
+ */
3948
+ channelId: string
3949
+ }, {
3950
+ /**
3951
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3952
+ */
3953
+ text?: string
3954
+ /**
3955
+ * A channel to check this post against.
3956
+ */
3957
+ channelId: string
3958
+ }, {
3959
+ /**
3960
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3961
+ */
3962
+ text?: string
3963
+ /**
3964
+ * A channel to check this post against.
3965
+ */
3966
+ channelId: string
3967
+ }, {
3968
+ /**
3969
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3970
+ */
3971
+ text?: string
3972
+ /**
3973
+ * A channel to check this post against.
3974
+ */
3975
+ channelId: string
3976
+ }, {
3977
+ /**
3978
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3979
+ */
3980
+ text?: string
3981
+ /**
3982
+ * A channel to check this post against.
3983
+ */
3984
+ channelId: string
3985
+ }]|[{
3986
+ /**
3987
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3988
+ */
3989
+ text?: string
3990
+ /**
3991
+ * A channel to check this post against.
3992
+ */
3993
+ channelId: string
3994
+ }, {
3995
+ /**
3996
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
3997
+ */
3998
+ text?: string
3999
+ /**
4000
+ * A channel to check this post against.
4001
+ */
4002
+ channelId: string
4003
+ }, {
4004
+ /**
4005
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4006
+ */
4007
+ text?: string
4008
+ /**
4009
+ * A channel to check this post against.
4010
+ */
4011
+ channelId: string
4012
+ }, {
4013
+ /**
4014
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4015
+ */
4016
+ text?: string
4017
+ /**
4018
+ * A channel to check this post against.
4019
+ */
4020
+ channelId: string
4021
+ }, {
4022
+ /**
4023
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4024
+ */
4025
+ text?: string
4026
+ /**
4027
+ * A channel to check this post against.
4028
+ */
4029
+ channelId: string
4030
+ }, {
4031
+ /**
4032
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4033
+ */
4034
+ text?: string
4035
+ /**
4036
+ * A channel to check this post against.
4037
+ */
4038
+ channelId: string
4039
+ }, {
4040
+ /**
4041
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4042
+ */
4043
+ text?: string
4044
+ /**
4045
+ * A channel to check this post against.
4046
+ */
4047
+ channelId: string
4048
+ }, {
4049
+ /**
4050
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4051
+ */
4052
+ text?: string
4053
+ /**
4054
+ * A channel to check this post against.
4055
+ */
4056
+ channelId: string
4057
+ }, {
4058
+ /**
4059
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4060
+ */
4061
+ text?: string
4062
+ /**
4063
+ * A channel to check this post against.
4064
+ */
4065
+ channelId: string
4066
+ }, {
4067
+ /**
4068
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4069
+ */
4070
+ text?: string
4071
+ /**
4072
+ * A channel to check this post against.
4073
+ */
4074
+ channelId: string
4075
+ }, {
4076
+ /**
4077
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4078
+ */
4079
+ text?: string
4080
+ /**
4081
+ * A channel to check this post against.
4082
+ */
4083
+ channelId: string
4084
+ }, {
4085
+ /**
4086
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4087
+ */
4088
+ text?: string
4089
+ /**
4090
+ * A channel to check this post against.
4091
+ */
4092
+ channelId: string
4093
+ }]|[{
4094
+ /**
4095
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4096
+ */
4097
+ text?: string
4098
+ /**
4099
+ * A channel to check this post against.
4100
+ */
4101
+ channelId: string
4102
+ }, {
4103
+ /**
4104
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4105
+ */
4106
+ text?: string
4107
+ /**
4108
+ * A channel to check this post against.
4109
+ */
4110
+ channelId: string
4111
+ }, {
4112
+ /**
4113
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4114
+ */
4115
+ text?: string
4116
+ /**
4117
+ * A channel to check this post against.
4118
+ */
4119
+ channelId: string
4120
+ }, {
4121
+ /**
4122
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4123
+ */
4124
+ text?: string
4125
+ /**
4126
+ * A channel to check this post against.
4127
+ */
4128
+ channelId: string
4129
+ }, {
4130
+ /**
4131
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4132
+ */
4133
+ text?: string
4134
+ /**
4135
+ * A channel to check this post against.
4136
+ */
4137
+ channelId: string
4138
+ }, {
4139
+ /**
4140
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4141
+ */
4142
+ text?: string
4143
+ /**
4144
+ * A channel to check this post against.
4145
+ */
4146
+ channelId: string
4147
+ }, {
4148
+ /**
4149
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4150
+ */
4151
+ text?: string
4152
+ /**
4153
+ * A channel to check this post against.
4154
+ */
4155
+ channelId: string
4156
+ }, {
4157
+ /**
4158
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4159
+ */
4160
+ text?: string
4161
+ /**
4162
+ * A channel to check this post against.
4163
+ */
4164
+ channelId: string
4165
+ }, {
4166
+ /**
4167
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4168
+ */
4169
+ text?: string
4170
+ /**
4171
+ * A channel to check this post against.
4172
+ */
4173
+ channelId: string
4174
+ }, {
4175
+ /**
4176
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4177
+ */
4178
+ text?: string
4179
+ /**
4180
+ * A channel to check this post against.
4181
+ */
4182
+ channelId: string
4183
+ }, {
4184
+ /**
4185
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4186
+ */
4187
+ text?: string
4188
+ /**
4189
+ * A channel to check this post against.
4190
+ */
4191
+ channelId: string
4192
+ }, {
4193
+ /**
4194
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4195
+ */
4196
+ text?: string
4197
+ /**
4198
+ * A channel to check this post against.
4199
+ */
4200
+ channelId: string
4201
+ }, {
4202
+ /**
4203
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4204
+ */
4205
+ text?: string
4206
+ /**
4207
+ * A channel to check this post against.
4208
+ */
4209
+ channelId: string
4210
+ }]|[{
4211
+ /**
4212
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4213
+ */
4214
+ text?: string
4215
+ /**
4216
+ * A channel to check this post against.
4217
+ */
4218
+ channelId: string
4219
+ }, {
4220
+ /**
4221
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4222
+ */
4223
+ text?: string
4224
+ /**
4225
+ * A channel to check this post against.
4226
+ */
4227
+ channelId: string
4228
+ }, {
4229
+ /**
4230
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4231
+ */
4232
+ text?: string
4233
+ /**
4234
+ * A channel to check this post against.
4235
+ */
4236
+ channelId: string
4237
+ }, {
4238
+ /**
4239
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4240
+ */
4241
+ text?: string
4242
+ /**
4243
+ * A channel to check this post against.
4244
+ */
4245
+ channelId: string
4246
+ }, {
4247
+ /**
4248
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4249
+ */
4250
+ text?: string
4251
+ /**
4252
+ * A channel to check this post against.
4253
+ */
4254
+ channelId: string
4255
+ }, {
4256
+ /**
4257
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4258
+ */
4259
+ text?: string
4260
+ /**
4261
+ * A channel to check this post against.
4262
+ */
4263
+ channelId: string
4264
+ }, {
4265
+ /**
4266
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4267
+ */
4268
+ text?: string
4269
+ /**
4270
+ * A channel to check this post against.
4271
+ */
4272
+ channelId: string
4273
+ }, {
4274
+ /**
4275
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4276
+ */
4277
+ text?: string
4278
+ /**
4279
+ * A channel to check this post against.
4280
+ */
4281
+ channelId: string
4282
+ }, {
4283
+ /**
4284
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4285
+ */
4286
+ text?: string
4287
+ /**
4288
+ * A channel to check this post against.
4289
+ */
4290
+ channelId: string
4291
+ }, {
4292
+ /**
4293
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4294
+ */
4295
+ text?: string
4296
+ /**
4297
+ * A channel to check this post against.
4298
+ */
4299
+ channelId: string
4300
+ }, {
4301
+ /**
4302
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4303
+ */
4304
+ text?: string
4305
+ /**
4306
+ * A channel to check this post against.
4307
+ */
4308
+ channelId: string
4309
+ }, {
4310
+ /**
4311
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4312
+ */
4313
+ text?: string
4314
+ /**
4315
+ * A channel to check this post against.
4316
+ */
4317
+ channelId: string
4318
+ }, {
4319
+ /**
4320
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4321
+ */
4322
+ text?: string
4323
+ /**
4324
+ * A channel to check this post against.
4325
+ */
4326
+ channelId: string
4327
+ }, {
4328
+ /**
4329
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4330
+ */
4331
+ text?: string
4332
+ /**
4333
+ * A channel to check this post against.
4334
+ */
4335
+ channelId: string
4336
+ }]|[{
4337
+ /**
4338
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4339
+ */
4340
+ text?: string
4341
+ /**
4342
+ * A channel to check this post against.
4343
+ */
4344
+ channelId: string
4345
+ }, {
4346
+ /**
4347
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4348
+ */
4349
+ text?: string
4350
+ /**
4351
+ * A channel to check this post against.
4352
+ */
4353
+ channelId: string
4354
+ }, {
4355
+ /**
4356
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4357
+ */
4358
+ text?: string
4359
+ /**
4360
+ * A channel to check this post against.
4361
+ */
4362
+ channelId: string
4363
+ }, {
4364
+ /**
4365
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4366
+ */
4367
+ text?: string
4368
+ /**
4369
+ * A channel to check this post against.
4370
+ */
4371
+ channelId: string
4372
+ }, {
4373
+ /**
4374
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4375
+ */
4376
+ text?: string
4377
+ /**
4378
+ * A channel to check this post against.
4379
+ */
4380
+ channelId: string
4381
+ }, {
4382
+ /**
4383
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4384
+ */
4385
+ text?: string
4386
+ /**
4387
+ * A channel to check this post against.
4388
+ */
4389
+ channelId: string
4390
+ }, {
4391
+ /**
4392
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4393
+ */
4394
+ text?: string
4395
+ /**
4396
+ * A channel to check this post against.
4397
+ */
4398
+ channelId: string
4399
+ }, {
4400
+ /**
4401
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4402
+ */
4403
+ text?: string
4404
+ /**
4405
+ * A channel to check this post against.
4406
+ */
4407
+ channelId: string
4408
+ }, {
4409
+ /**
4410
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4411
+ */
4412
+ text?: string
4413
+ /**
4414
+ * A channel to check this post against.
4415
+ */
4416
+ channelId: string
4417
+ }, {
4418
+ /**
4419
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4420
+ */
4421
+ text?: string
4422
+ /**
4423
+ * A channel to check this post against.
4424
+ */
4425
+ channelId: string
4426
+ }, {
4427
+ /**
4428
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4429
+ */
4430
+ text?: string
4431
+ /**
4432
+ * A channel to check this post against.
4433
+ */
4434
+ channelId: string
4435
+ }, {
4436
+ /**
4437
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4438
+ */
4439
+ text?: string
4440
+ /**
4441
+ * A channel to check this post against.
4442
+ */
4443
+ channelId: string
4444
+ }, {
4445
+ /**
4446
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4447
+ */
4448
+ text?: string
4449
+ /**
4450
+ * A channel to check this post against.
4451
+ */
4452
+ channelId: string
4453
+ }, {
4454
+ /**
4455
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4456
+ */
4457
+ text?: string
4458
+ /**
4459
+ * A channel to check this post against.
4460
+ */
4461
+ channelId: string
4462
+ }, {
4463
+ /**
4464
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4465
+ */
4466
+ text?: string
4467
+ /**
4468
+ * A channel to check this post against.
4469
+ */
4470
+ channelId: string
4471
+ }]|[{
4472
+ /**
4473
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4474
+ */
4475
+ text?: string
4476
+ /**
4477
+ * A channel to check this post against.
4478
+ */
4479
+ channelId: string
4480
+ }, {
4481
+ /**
4482
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4483
+ */
4484
+ text?: string
4485
+ /**
4486
+ * A channel to check this post against.
4487
+ */
4488
+ channelId: string
4489
+ }, {
4490
+ /**
4491
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4492
+ */
4493
+ text?: string
4494
+ /**
4495
+ * A channel to check this post against.
4496
+ */
4497
+ channelId: string
4498
+ }, {
4499
+ /**
4500
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4501
+ */
4502
+ text?: string
4503
+ /**
4504
+ * A channel to check this post against.
4505
+ */
4506
+ channelId: string
4507
+ }, {
4508
+ /**
4509
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4510
+ */
4511
+ text?: string
4512
+ /**
4513
+ * A channel to check this post against.
4514
+ */
4515
+ channelId: string
4516
+ }, {
4517
+ /**
4518
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4519
+ */
4520
+ text?: string
4521
+ /**
4522
+ * A channel to check this post against.
4523
+ */
4524
+ channelId: string
4525
+ }, {
4526
+ /**
4527
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4528
+ */
4529
+ text?: string
4530
+ /**
4531
+ * A channel to check this post against.
4532
+ */
4533
+ channelId: string
4534
+ }, {
4535
+ /**
4536
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4537
+ */
4538
+ text?: string
4539
+ /**
4540
+ * A channel to check this post against.
4541
+ */
4542
+ channelId: string
4543
+ }, {
4544
+ /**
4545
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4546
+ */
4547
+ text?: string
4548
+ /**
4549
+ * A channel to check this post against.
4550
+ */
4551
+ channelId: string
4552
+ }, {
4553
+ /**
4554
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4555
+ */
4556
+ text?: string
4557
+ /**
4558
+ * A channel to check this post against.
4559
+ */
4560
+ channelId: string
4561
+ }, {
4562
+ /**
4563
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4564
+ */
4565
+ text?: string
4566
+ /**
4567
+ * A channel to check this post against.
4568
+ */
4569
+ channelId: string
4570
+ }, {
4571
+ /**
4572
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4573
+ */
4574
+ text?: string
4575
+ /**
4576
+ * A channel to check this post against.
4577
+ */
4578
+ channelId: string
4579
+ }, {
4580
+ /**
4581
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4582
+ */
4583
+ text?: string
4584
+ /**
4585
+ * A channel to check this post against.
4586
+ */
4587
+ channelId: string
4588
+ }, {
4589
+ /**
4590
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4591
+ */
4592
+ text?: string
4593
+ /**
4594
+ * A channel to check this post against.
4595
+ */
4596
+ channelId: string
4597
+ }, {
4598
+ /**
4599
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4600
+ */
4601
+ text?: string
4602
+ /**
4603
+ * A channel to check this post against.
4604
+ */
4605
+ channelId: string
4606
+ }, {
4607
+ /**
4608
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4609
+ */
4610
+ text?: string
4611
+ /**
4612
+ * A channel to check this post against.
4613
+ */
4614
+ channelId: string
4615
+ }]|[{
4616
+ /**
4617
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4618
+ */
4619
+ text?: string
4620
+ /**
4621
+ * A channel to check this post against.
4622
+ */
4623
+ channelId: string
4624
+ }, {
4625
+ /**
4626
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4627
+ */
4628
+ text?: string
4629
+ /**
4630
+ * A channel to check this post against.
4631
+ */
4632
+ channelId: string
4633
+ }, {
4634
+ /**
4635
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4636
+ */
4637
+ text?: string
4638
+ /**
4639
+ * A channel to check this post against.
4640
+ */
4641
+ channelId: string
4642
+ }, {
4643
+ /**
4644
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4645
+ */
4646
+ text?: string
4647
+ /**
4648
+ * A channel to check this post against.
4649
+ */
4650
+ channelId: string
4651
+ }, {
4652
+ /**
4653
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4654
+ */
4655
+ text?: string
4656
+ /**
4657
+ * A channel to check this post against.
4658
+ */
4659
+ channelId: string
4660
+ }, {
4661
+ /**
4662
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4663
+ */
4664
+ text?: string
4665
+ /**
4666
+ * A channel to check this post against.
4667
+ */
4668
+ channelId: string
4669
+ }, {
4670
+ /**
4671
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4672
+ */
4673
+ text?: string
4674
+ /**
4675
+ * A channel to check this post against.
4676
+ */
4677
+ channelId: string
4678
+ }, {
4679
+ /**
4680
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4681
+ */
4682
+ text?: string
4683
+ /**
4684
+ * A channel to check this post against.
4685
+ */
4686
+ channelId: string
4687
+ }, {
4688
+ /**
4689
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4690
+ */
4691
+ text?: string
4692
+ /**
4693
+ * A channel to check this post against.
4694
+ */
4695
+ channelId: string
4696
+ }, {
4697
+ /**
4698
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4699
+ */
4700
+ text?: string
4701
+ /**
4702
+ * A channel to check this post against.
4703
+ */
4704
+ channelId: string
4705
+ }, {
4706
+ /**
4707
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4708
+ */
4709
+ text?: string
4710
+ /**
4711
+ * A channel to check this post against.
4712
+ */
4713
+ channelId: string
4714
+ }, {
4715
+ /**
4716
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4717
+ */
4718
+ text?: string
4719
+ /**
4720
+ * A channel to check this post against.
4721
+ */
4722
+ channelId: string
4723
+ }, {
4724
+ /**
4725
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4726
+ */
4727
+ text?: string
4728
+ /**
4729
+ * A channel to check this post against.
4730
+ */
4731
+ channelId: string
4732
+ }, {
4733
+ /**
4734
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4735
+ */
4736
+ text?: string
4737
+ /**
4738
+ * A channel to check this post against.
4739
+ */
4740
+ channelId: string
4741
+ }, {
4742
+ /**
4743
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4744
+ */
4745
+ text?: string
4746
+ /**
4747
+ * A channel to check this post against.
4748
+ */
4749
+ channelId: string
4750
+ }, {
4751
+ /**
4752
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4753
+ */
4754
+ text?: string
4755
+ /**
4756
+ * A channel to check this post against.
4757
+ */
4758
+ channelId: string
4759
+ }, {
4760
+ /**
4761
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4762
+ */
4763
+ text?: string
4764
+ /**
4765
+ * A channel to check this post against.
4766
+ */
4767
+ channelId: string
4768
+ }]|[{
4769
+ /**
4770
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4771
+ */
4772
+ text?: string
4773
+ /**
4774
+ * A channel to check this post against.
4775
+ */
4776
+ channelId: string
4777
+ }, {
4778
+ /**
4779
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4780
+ */
4781
+ text?: string
4782
+ /**
4783
+ * A channel to check this post against.
4784
+ */
4785
+ channelId: string
4786
+ }, {
4787
+ /**
4788
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4789
+ */
4790
+ text?: string
4791
+ /**
4792
+ * A channel to check this post against.
4793
+ */
4794
+ channelId: string
4795
+ }, {
4796
+ /**
4797
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4798
+ */
4799
+ text?: string
4800
+ /**
4801
+ * A channel to check this post against.
4802
+ */
4803
+ channelId: string
4804
+ }, {
4805
+ /**
4806
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4807
+ */
4808
+ text?: string
4809
+ /**
4810
+ * A channel to check this post against.
4811
+ */
4812
+ channelId: string
4813
+ }, {
4814
+ /**
4815
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4816
+ */
4817
+ text?: string
4818
+ /**
4819
+ * A channel to check this post against.
4820
+ */
4821
+ channelId: string
4822
+ }, {
4823
+ /**
4824
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4825
+ */
4826
+ text?: string
4827
+ /**
4828
+ * A channel to check this post against.
4829
+ */
4830
+ channelId: string
4831
+ }, {
4832
+ /**
4833
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4834
+ */
4835
+ text?: string
4836
+ /**
4837
+ * A channel to check this post against.
4838
+ */
4839
+ channelId: string
4840
+ }, {
4841
+ /**
4842
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4843
+ */
4844
+ text?: string
4845
+ /**
4846
+ * A channel to check this post against.
4847
+ */
4848
+ channelId: string
4849
+ }, {
4850
+ /**
4851
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4852
+ */
4853
+ text?: string
4854
+ /**
4855
+ * A channel to check this post against.
4856
+ */
4857
+ channelId: string
4858
+ }, {
4859
+ /**
4860
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4861
+ */
4862
+ text?: string
4863
+ /**
4864
+ * A channel to check this post against.
4865
+ */
4866
+ channelId: string
4867
+ }, {
4868
+ /**
4869
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4870
+ */
4871
+ text?: string
4872
+ /**
4873
+ * A channel to check this post against.
4874
+ */
4875
+ channelId: string
4876
+ }, {
4877
+ /**
4878
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4879
+ */
4880
+ text?: string
4881
+ /**
4882
+ * A channel to check this post against.
4883
+ */
4884
+ channelId: string
4885
+ }, {
4886
+ /**
4887
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4888
+ */
4889
+ text?: string
4890
+ /**
4891
+ * A channel to check this post against.
4892
+ */
4893
+ channelId: string
4894
+ }, {
4895
+ /**
4896
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4897
+ */
4898
+ text?: string
4899
+ /**
4900
+ * A channel to check this post against.
4901
+ */
4902
+ channelId: string
4903
+ }, {
4904
+ /**
4905
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4906
+ */
4907
+ text?: string
4908
+ /**
4909
+ * A channel to check this post against.
4910
+ */
4911
+ channelId: string
4912
+ }, {
4913
+ /**
4914
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4915
+ */
4916
+ text?: string
4917
+ /**
4918
+ * A channel to check this post against.
4919
+ */
4920
+ channelId: string
4921
+ }, {
4922
+ /**
4923
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4924
+ */
4925
+ text?: string
4926
+ /**
4927
+ * A channel to check this post against.
4928
+ */
4929
+ channelId: string
4930
+ }]|[{
4931
+ /**
4932
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4933
+ */
4934
+ text?: string
4935
+ /**
4936
+ * A channel to check this post against.
4937
+ */
4938
+ channelId: string
4939
+ }, {
4940
+ /**
4941
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4942
+ */
4943
+ text?: string
4944
+ /**
4945
+ * A channel to check this post against.
4946
+ */
4947
+ channelId: string
4948
+ }, {
4949
+ /**
4950
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4951
+ */
4952
+ text?: string
4953
+ /**
4954
+ * A channel to check this post against.
4955
+ */
4956
+ channelId: string
4957
+ }, {
4958
+ /**
4959
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4960
+ */
4961
+ text?: string
4962
+ /**
4963
+ * A channel to check this post against.
4964
+ */
4965
+ channelId: string
4966
+ }, {
4967
+ /**
4968
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4969
+ */
4970
+ text?: string
4971
+ /**
4972
+ * A channel to check this post against.
4973
+ */
4974
+ channelId: string
4975
+ }, {
4976
+ /**
4977
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4978
+ */
4979
+ text?: string
4980
+ /**
4981
+ * A channel to check this post against.
4982
+ */
4983
+ channelId: string
4984
+ }, {
4985
+ /**
4986
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4987
+ */
4988
+ text?: string
4989
+ /**
4990
+ * A channel to check this post against.
4991
+ */
4992
+ channelId: string
4993
+ }, {
4994
+ /**
4995
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
4996
+ */
4997
+ text?: string
4998
+ /**
4999
+ * A channel to check this post against.
5000
+ */
5001
+ channelId: string
5002
+ }, {
5003
+ /**
5004
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5005
+ */
5006
+ text?: string
5007
+ /**
5008
+ * A channel to check this post against.
5009
+ */
5010
+ channelId: string
5011
+ }, {
5012
+ /**
5013
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5014
+ */
5015
+ text?: string
5016
+ /**
5017
+ * A channel to check this post against.
5018
+ */
5019
+ channelId: string
5020
+ }, {
5021
+ /**
5022
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5023
+ */
5024
+ text?: string
5025
+ /**
5026
+ * A channel to check this post against.
5027
+ */
5028
+ channelId: string
5029
+ }, {
5030
+ /**
5031
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5032
+ */
5033
+ text?: string
5034
+ /**
5035
+ * A channel to check this post against.
5036
+ */
5037
+ channelId: string
5038
+ }, {
5039
+ /**
5040
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5041
+ */
5042
+ text?: string
5043
+ /**
5044
+ * A channel to check this post against.
5045
+ */
5046
+ channelId: string
5047
+ }, {
5048
+ /**
5049
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5050
+ */
5051
+ text?: string
5052
+ /**
5053
+ * A channel to check this post against.
5054
+ */
5055
+ channelId: string
5056
+ }, {
5057
+ /**
5058
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5059
+ */
5060
+ text?: string
5061
+ /**
5062
+ * A channel to check this post against.
5063
+ */
5064
+ channelId: string
5065
+ }, {
5066
+ /**
5067
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5068
+ */
5069
+ text?: string
5070
+ /**
5071
+ * A channel to check this post against.
5072
+ */
5073
+ channelId: string
5074
+ }, {
5075
+ /**
5076
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5077
+ */
5078
+ text?: string
5079
+ /**
5080
+ * A channel to check this post against.
5081
+ */
5082
+ channelId: string
5083
+ }, {
5084
+ /**
5085
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5086
+ */
5087
+ text?: string
5088
+ /**
5089
+ * A channel to check this post against.
5090
+ */
5091
+ channelId: string
5092
+ }, {
5093
+ /**
5094
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5095
+ */
5096
+ text?: string
5097
+ /**
5098
+ * A channel to check this post against.
5099
+ */
5100
+ channelId: string
5101
+ }]|[{
5102
+ /**
5103
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5104
+ */
5105
+ text?: string
5106
+ /**
5107
+ * A channel to check this post against.
5108
+ */
5109
+ channelId: string
5110
+ }, {
5111
+ /**
5112
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5113
+ */
5114
+ text?: string
5115
+ /**
5116
+ * A channel to check this post against.
5117
+ */
5118
+ channelId: string
5119
+ }, {
5120
+ /**
5121
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5122
+ */
5123
+ text?: string
5124
+ /**
5125
+ * A channel to check this post against.
5126
+ */
5127
+ channelId: string
5128
+ }, {
5129
+ /**
5130
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5131
+ */
5132
+ text?: string
5133
+ /**
5134
+ * A channel to check this post against.
5135
+ */
5136
+ channelId: string
5137
+ }, {
5138
+ /**
5139
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5140
+ */
5141
+ text?: string
5142
+ /**
5143
+ * A channel to check this post against.
5144
+ */
5145
+ channelId: string
5146
+ }, {
5147
+ /**
5148
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5149
+ */
5150
+ text?: string
5151
+ /**
5152
+ * A channel to check this post against.
5153
+ */
5154
+ channelId: string
5155
+ }, {
5156
+ /**
5157
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5158
+ */
5159
+ text?: string
5160
+ /**
5161
+ * A channel to check this post against.
5162
+ */
5163
+ channelId: string
5164
+ }, {
5165
+ /**
5166
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5167
+ */
5168
+ text?: string
5169
+ /**
5170
+ * A channel to check this post against.
5171
+ */
5172
+ channelId: string
5173
+ }, {
5174
+ /**
5175
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5176
+ */
5177
+ text?: string
5178
+ /**
5179
+ * A channel to check this post against.
5180
+ */
5181
+ channelId: string
5182
+ }, {
5183
+ /**
5184
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5185
+ */
5186
+ text?: string
5187
+ /**
5188
+ * A channel to check this post against.
5189
+ */
5190
+ channelId: string
5191
+ }, {
5192
+ /**
5193
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5194
+ */
5195
+ text?: string
5196
+ /**
5197
+ * A channel to check this post against.
5198
+ */
5199
+ channelId: string
5200
+ }, {
5201
+ /**
5202
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5203
+ */
5204
+ text?: string
5205
+ /**
5206
+ * A channel to check this post against.
5207
+ */
5208
+ channelId: string
5209
+ }, {
5210
+ /**
5211
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5212
+ */
5213
+ text?: string
5214
+ /**
5215
+ * A channel to check this post against.
5216
+ */
5217
+ channelId: string
5218
+ }, {
5219
+ /**
5220
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5221
+ */
5222
+ text?: string
5223
+ /**
5224
+ * A channel to check this post against.
5225
+ */
5226
+ channelId: string
5227
+ }, {
5228
+ /**
5229
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5230
+ */
5231
+ text?: string
5232
+ /**
5233
+ * A channel to check this post against.
5234
+ */
5235
+ channelId: string
5236
+ }, {
5237
+ /**
5238
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5239
+ */
5240
+ text?: string
5241
+ /**
5242
+ * A channel to check this post against.
5243
+ */
5244
+ channelId: string
5245
+ }, {
5246
+ /**
5247
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5248
+ */
5249
+ text?: string
5250
+ /**
5251
+ * A channel to check this post against.
5252
+ */
5253
+ channelId: string
5254
+ }, {
5255
+ /**
5256
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5257
+ */
5258
+ text?: string
5259
+ /**
5260
+ * A channel to check this post against.
5261
+ */
5262
+ channelId: string
5263
+ }, {
5264
+ /**
5265
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
5266
+ */
5267
+ text?: string
5268
+ /**
5269
+ * A channel to check this post against.
5270
+ */
5271
+ channelId: string
5272
+ }, {
5273
+ /**
5274
+ * The per-channel variant you intend to schedule. Omit to check the post text as written.
1344
5275
  */
1345
- id: string
1346
- }
1347
-
1348
- export interface ConsentProvidersDeleteOutput {
1349
- id: string
1350
- deleted: true
1351
- }
1352
-
1353
- export interface ConsentProvidersListInput {
1354
-
5276
+ text?: string
5277
+ /**
5278
+ * A channel to check this post against.
5279
+ */
5280
+ channelId: string
5281
+ }]
5282
+ /**
5283
+ * The slot you intend to use, ISO-8601. Only the daily ceiling depends on it; omit for "now".
5284
+ */
5285
+ scheduledAt?: string
1355
5286
  }
1356
5287
 
1357
- export type ConsentProvidersListOutput = {
1358
- id: string
1359
- name: string
1360
- hosts: string[]
1361
- cookies: {
1362
- id: string
1363
- name: string
1364
- type: ("http_cookie" | "local_storage" | "session_storage")
1365
- purpose: string
1366
- storageDuration: string
1367
- }[]
1368
- category: ("necessary" | "preferences" | "statistics" | "marketing")
1369
- isSystem?: boolean
1370
- createdAt: string
1371
- updatedAt: string
1372
- catalogKey?: (string | null)
1373
- orderIndex: number
1374
- privacyUrl: (string | null)
1375
- description: string
1376
- }[]
1377
-
1378
- export interface ConsentProvidersUpdateInput {
5288
+ export interface ContentPublicationsValidateOutput {
1379
5289
  /**
1380
- * Provider id
5290
+ * The post that was checked.
1381
5291
  */
1382
- id: string
1383
- name?: string
5292
+ postId: string
1384
5293
  /**
1385
- * If provided, REPLACES the hosts list. Omit to leave unchanged.
1386
- *
1387
- * @maxItems 50
5294
+ * One result per requested channel, in the order they were given.
1388
5295
  */
1389
- hosts?: string[]
5296
+ channels: {
1390
5297
  /**
1391
- * If provided, REPLACES the whole cookies set for this provider. Omit to leave unchanged.
1392
- *
1393
- * @maxItems 200
5298
+ * The exact text that would be published to this channel.
1394
5299
  */
1395
- cookies?: {
5300
+ text: string
1396
5301
  /**
1397
- * Cookie/storage key name, e.g. "_ga"
5302
+ * Everything wrong, all at once. Any entry with severity "error" means scheduling this would be refused — there is no separate flag to disagree with the list.
1398
5303
  */
1399
- name: string
5304
+ issues: {
1400
5305
  /**
1401
- * Storage mechanism matches CHECK constraint on consent_cookies.type
5306
+ * Stable machine code: text_empty, text_too_long, too_many_media, link_not_supported, media_missing, media_not_ready, media_not_supported, cost_unknown, daily_ceiling_exceeded.
1402
5307
  */
1403
- type: ("http_cookie" | "local_storage" | "session_storage")
5308
+ code: string
1404
5309
  /**
1405
- * Human-readable description of why the cookie is set
5310
+ * Which input the issue is about, when it is about one.
1406
5311
  */
1407
- purpose: string
5312
+ field?: string
1408
5313
  /**
1409
- * Duration like "2 years", "session", "30 days"
5314
+ * What is wrong, in a sentence you can show a person.
1410
5315
  */
1411
- storageDuration: string
5316
+ message: string
5317
+ /**
5318
+ * `error` means scheduling would be refused or the publication would not go out. `warning` is advisory.
5319
+ */
5320
+ severity: ("error" | "warning")
1412
5321
  }[]
1413
5322
  /**
1414
- * Consent category bucket matches CHECK constraint on consent_providers.category
5323
+ * The daily ceiling that was checked, or null when nothing knows one.
1415
5324
  */
1416
- category?: ("necessary" | "preferences" | "statistics" | "marketing")
1417
- orderIndex?: number
5325
+ ceiling: ({
1418
5326
  /**
1419
- * null clears the field, undefined leaves it unchanged
5327
+ * How many publications this channel already has in that day, queued or done.
1420
5328
  */
1421
- privacyUrl?: (string | null)
5329
+ used: number
1422
5330
  /**
1423
- * Pass empty string to clear; undefined leaves unchanged
5331
+ * Published posts this channel allows per day, or null when no figure is known.
1424
5332
  */
1425
- description?: string
1426
- }
1427
-
1428
- export interface ConsentProvidersUpdateOutput {
1429
- id: string
1430
- name: string
1431
- hosts: string[]
1432
- cookies: {
1433
- 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
1441
- createdAt: string
1442
- updatedAt: string
1443
- catalogKey?: (string | null)
1444
- orderIndex: number
1445
- privacyUrl: (string | null)
1446
- description: string
1447
- }
1448
-
1449
- export interface ConsentRecordsExportInput {
5333
+ limit: (number | null)
1450
5334
  /**
1451
- * Inclusive upper bound for created_at, ISO-8601. Example: "2026-01-01T00:00:00Z". Omit for "up to now".
5335
+ * Where the limit came from: `channel` an operator override, `adapter` a live figure from the network, `catalog` the built-in constant (INV-053).
1452
5336
  */
1453
- to?: string
5337
+ source: ("channel" | "adapter" | "catalog")
5338
+ } | null)
1454
5339
  /**
1455
- * Inclusive lower bound for created_at (server clock), ISO-8601. Example: "2025-01-01T00:00:00Z". Omit for "from the beginning".
5340
+ * What this publication would cost in USD. On X a post carrying a link costs 13x a plain one ($0.20 against $0.015). Null means the cost cannot be computed, which blocks publishing.
1456
5341
  */
1457
- from?: string
5342
+ costUsd: (number | null)
1458
5343
  /**
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.
5344
+ * The network behind that channel.
1460
5345
  */
1461
- limit?: number
5346
+ network: string
1462
5347
  /**
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.
5348
+ * The channel this result is for.
1464
5349
  */
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 {
5350
+ channelId: string
1482
5351
  /**
1483
- * Time window for aggregation in days, e.g. "30d". Omit to use the server default (30d). Maximum: 365d.
5352
+ * Which rate produced costUsd: "plain", "link" or "free".
1484
5353
  */
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
5354
+ costBasis: (string | null)
5355
+ /**
5356
+ * The channel as a person sees it.
5357
+ */
5358
+ displayName: string
5359
+ }[]
1502
5360
  }
1503
5361
 
1504
5362
  export interface DeploymentAlertCreateInput {
@@ -15487,6 +19345,7 @@ displayName: (string | null)
15487
19345
  orgRoles: {
15488
19346
  id: string
15489
19347
  name: string
19348
+ description: (string | null)
15490
19349
  }[]
15491
19350
  canManage: boolean
15492
19351
  inherited: {
@@ -15883,6 +19742,226 @@ lastMessagePreview: (string | null)
15883
19742
  }[]
15884
19743
  }
15885
19744
 
19745
+ export interface PlaygroundAnalyticsOverviewInput {
19746
+ /**
19747
+ * Max records per entity in recent[]; omit for the endpoint default
19748
+ */
19749
+ limit?: number
19750
+ }
19751
+
19752
+ export interface PlaygroundAnalyticsOverviewOutput {
19753
+ ok: boolean
19754
+ minted: boolean
19755
+ overview?: unknown
19756
+ http_status: number
19757
+ }
19758
+
19759
+ export interface PlaygroundBillingEntitlementsInput {
19760
+
19761
+ }
19762
+
19763
+ export interface PlaygroundBillingEntitlementsOutput {
19764
+ ok: boolean
19765
+ minted: boolean
19766
+ http_status: number
19767
+ entitlements?: unknown
19768
+ }
19769
+
19770
+ export interface PlaygroundBillingRecordUsageInput {
19771
+ /**
19772
+ * Quantity of events to record against playground-events (SUM); defaults to 1
19773
+ */
19774
+ value?: number
19775
+ }
19776
+
19777
+ export interface PlaygroundBillingRecordUsageOutput {
19778
+ minted: boolean
19779
+ accepted: (number | null)
19780
+ recorded: boolean
19781
+ duplicates: (number | null)
19782
+ http_status: number
19783
+ }
19784
+
19785
+ export interface PlaygroundClickupCreateTaskInput {
19786
+ /**
19787
+ * Task title; defaults to a fixture label
19788
+ */
19789
+ name?: string
19790
+ /**
19791
+ * ClickUp list id; falls back to CLICKUP_TEST_LIST_ID
19792
+ */
19793
+ listId?: string
19794
+ }
19795
+
19796
+ export interface PlaygroundClickupCreateTaskOutput {
19797
+ minted: boolean
19798
+ task_id: (string | null)
19799
+ list_status: number
19800
+ vend_status: number
19801
+ clickup_status: number
19802
+ installation_count: number
19803
+ }
19804
+
19805
+ export interface PlaygroundClickupGetLastWebhookInput {
19806
+
19807
+ }
19808
+
19809
+ export type PlaygroundClickupGetLastWebhookOutput = ({
19810
+ payload: string
19811
+ event_id: string
19812
+ provider: string
19813
+ verified: boolean
19814
+ product_id: string
19815
+ occurred_at: string
19816
+ connector_id: string
19817
+ clickup_event: (string | null)
19818
+ receipt_count: number
19819
+ } | {
19820
+ found: false
19821
+ })
19822
+
19823
+ export interface PlaygroundClickupGetOverviewInput {
19824
+
19825
+ }
19826
+
19827
+ export interface PlaygroundClickupGetOverviewOutput {
19828
+ team: ({
19829
+ teamId: string
19830
+ teamName: string
19831
+ } | null)
19832
+ lists: PlaygroundClickupGetOverviewOutputItems[]
19833
+ tasks: {
19834
+ id: string
19835
+ name: string
19836
+ status: (string | null)
19837
+ }[]
19838
+ minted: boolean
19839
+ spaces: PlaygroundClickupGetOverviewOutputItems[]
19840
+ list_status: number
19841
+ vend_status: number
19842
+ lists_status: number
19843
+ tasks_status: number
19844
+ spaces_status: number
19845
+ folders_status: number
19846
+ installation_count: number
19847
+ }
19848
+ export interface PlaygroundClickupGetOverviewOutputItems {
19849
+ id: string
19850
+ name: string
19851
+ }
19852
+
19853
+ export interface PlaygroundGdriveGetLastChangeInput {
19854
+
19855
+ }
19856
+
19857
+ export type PlaygroundGdriveGetLastChangeOutput = ({
19858
+ file_id: string
19859
+ removed: boolean
19860
+ file_name: (string | null)
19861
+ mime_type: (string | null)
19862
+ product_id: string
19863
+ occurred_at: string
19864
+ connector_id: string
19865
+ resource_state: string
19866
+ } | {
19867
+ found: false
19868
+ })
19869
+
19870
+ export interface PlaygroundGdriveReadFileInput {
19871
+ /**
19872
+ * Drive file id; falls back to GDRIVE_TEST_FILE_ID, then the first picked file
19873
+ */
19874
+ fileId?: string
19875
+ }
19876
+
19877
+ export interface PlaygroundGdriveReadFileOutput {
19878
+ minted: boolean
19879
+ file_id: (string | null)
19880
+ file_name: (string | null)
19881
+ mime_type: (string | null)
19882
+ file_count: number
19883
+ get_status: number
19884
+ list_status: number
19885
+ vend_status: number
19886
+ content_bytes: (number | null)
19887
+ }
19888
+
19889
+ export interface PlaygroundGoogleadsReadCustomerInput {
19890
+
19891
+ }
19892
+
19893
+ export interface PlaygroundGoogleadsReadCustomerOutput {
19894
+ minted: boolean
19895
+ vended: boolean
19896
+ customer_id: (string | null)
19897
+ vend_status: number
19898
+ result_count: number
19899
+ search_status: number
19900
+ login_customer_id: (string | null)
19901
+ }
19902
+
19903
+ export interface PlaygroundLifecycleGetStateInput {
19904
+
19905
+ }
19906
+
19907
+ export interface PlaygroundLifecycleGetStateOutput {
19908
+ blocked: boolean
19909
+ archived: boolean
19910
+ productId: string
19911
+ lastBlockTransition: ({
19912
+ eventId: string
19913
+ eventName: string
19914
+ productId: string
19915
+ occurredAt: string
19916
+ recordedAt: string
19917
+ receiptCount: number
19918
+ organizationId: string
19919
+ cascadedFromOrg: boolean
19920
+ } | null)
19921
+ lastArchiveTransition: ({
19922
+ eventId: string
19923
+ eventName: string
19924
+ productId: string
19925
+ occurredAt: string
19926
+ recordedAt: string
19927
+ receiptCount: number
19928
+ organizationId: string
19929
+ cascadedFromOrg: boolean
19930
+ } | null)
19931
+ }
19932
+
19933
+ export interface PlaygroundLifecycleListEventsInput {
19934
+
19935
+ }
19936
+
19937
+ export type PlaygroundLifecycleListEventsOutput = {
19938
+ eventId: string
19939
+ eventName: string
19940
+ productId: string
19941
+ occurredAt: string
19942
+ recordedAt: string
19943
+ receiptCount: number
19944
+ organizationId: string
19945
+ cascadedFromOrg: boolean
19946
+ }[]
19947
+
19948
+ export interface PlaygroundWebhookGetLastInput {
19949
+
19950
+ }
19951
+
19952
+ export type PlaygroundWebhookGetLastOutput = ({
19953
+ payload?: unknown
19954
+ event_id: string
19955
+ provider: string
19956
+ verified: boolean
19957
+ product_id: string
19958
+ occurred_at: string
19959
+ connector_id: string
19960
+ delivery_count: number
19961
+ } | {
19962
+ found: false
19963
+ })
19964
+
15886
19965
  export interface RealtimeArchiveExportInput {
15887
19966
  /**
15888
19967
  * Only entries with ts <= to_ts (epoch ms)