@postpeer/node 0.8.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -360,7 +360,7 @@ type TwitterConfigurations = {
360
360
  type: 'image' | 'video' | 'gif' | 'document';
361
361
  url: string;
362
362
  /**
363
- * Thumbnail image URL for video items. Supported on YouTube regular videos (not Shorts). JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
363
+ * Thumbnail image URL for Facebook videos and YouTube regular videos (not Shorts). YouTube accepts JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
364
364
  */
365
365
  thumbnail?: string;
366
366
  }>;
@@ -445,7 +445,7 @@ type TikTokConfigurations = {
445
445
  */
446
446
  brandOrganicToggle?: boolean;
447
447
  /**
448
- * AI-generated content disclosure. Videos only. Defaults to false.
448
+ * AI-generated content disclosure for photo and video posts. Defaults to false.
449
449
  */
450
450
  isAigc?: boolean;
451
451
  /**
@@ -563,6 +563,10 @@ type BlueskyConfigurations = {
563
563
  * Pass this object in platformSpecificData when posting to Facebook Pages.
564
564
  */
565
565
  type FacebookConfigurations = {
566
+ /**
567
+ * Set to "story" to publish a Facebook Page Story with exactly one image or video. Omit for a feed post. Stories expire after 24 hours; captions, links, and custom thumbnails are ignored. published: false is not supported for Stories.
568
+ */
569
+ contentType?: 'story';
566
570
  /**
567
571
  * When provided on a text-only post, Facebook renders a link preview card from this URL's Open Graph tags. Ignored when mediaItems are attached.
568
572
  */
@@ -572,7 +576,7 @@ type FacebookConfigurations = {
572
576
  */
573
577
  published?: boolean;
574
578
  /**
575
- * Video posts only. Public URL of an image Facebook will use as the video's cover/thumbnail. Applied as a follow-up call after publish — if the upload fails, the post still succeeds (Facebook just auto-picks a frame). Ignored when no video is attached.
579
+ * Video posts only. Optional Facebook-specific override for mediaItems[].thumbnail. Applied as a follow-up call after publish — if the upload fails, the post still succeeds (Facebook just auto-picks a frame). Ignored when no video is attached.
576
580
  */
577
581
  videoThumbnailUrl?: string;
578
582
  };
@@ -588,6 +592,15 @@ type InstagramConfigurations = {
588
592
  * Reels-only. When true (default), the Reel also appears in the account's main feed grid. Set false to publish to Reels only.
589
593
  */
590
594
  shareToFeed?: boolean;
595
+ /**
596
+ * Reels-only. Publishes a single video as a Trial Reel, initially shown to non-followers.
597
+ */
598
+ trialParams?: {
599
+ /**
600
+ * Controls how a Trial Reel is shared with followers. MANUAL keeps graduation manual; SS_PERFORMANCE lets Instagram share it automatically when it performs well.
601
+ */
602
+ graduationStrategy: 'MANUAL' | 'SS_PERFORMANCE';
603
+ };
591
604
  /**
592
605
  * Video-only. Public URL of an image Instagram will use as the cover frame for the Reel/video post. Ignored for image posts.
593
606
  */
@@ -596,6 +609,10 @@ type InstagramConfigurations = {
596
609
  * Video-only. Timestamp in milliseconds Instagram extracts as the cover frame. Ignored when coverUrl is set or for image posts.
597
610
  */
598
611
  thumbOffset?: number;
612
+ /**
613
+ * Reels-only. Sets the name shown for the Reel audio. Instagram does not allow selecting a track from its music library via the API, so the audio must already be in the video file; this only labels it.
614
+ */
615
+ audioName?: string;
599
616
  /**
600
617
  * Feed posts, carousels, and Reels only. Up to three Instagram usernames to invite as collaborators. Each account must accept the invitation in Instagram.
601
618
  */
@@ -675,12 +692,12 @@ type PostPayload = {
675
692
  type: 'image' | 'video' | 'gif' | 'document';
676
693
  url: string;
677
694
  /**
678
- * Thumbnail image URL for video items. Supported on YouTube regular videos (not Shorts). JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
695
+ * Thumbnail image URL for Facebook videos and YouTube regular videos (not Shorts). YouTube accepts JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
679
696
  */
680
697
  thumbnail?: string;
681
698
  }>;
682
699
  /**
683
- * Target platform accounts to publish to
700
+ * Target platform accounts. Drafts may be saved without an account.
684
701
  */
685
702
  platforms: Array<{
686
703
  platform: 'twitter';
@@ -794,9 +811,13 @@ type PostPayload = {
794
811
  platformSpecificData?: GoogleBusinessConfigurations;
795
812
  }>;
796
813
  /**
797
- * Publish immediately. Required when scheduledFor is omitted.
814
+ * Publish immediately. scheduledFor takes precedence when provided.
798
815
  */
799
816
  publishNow?: boolean;
817
+ /**
818
+ * Save without publishing or scheduling. Cannot be combined with publishNow=true or scheduledFor.
819
+ */
820
+ saveAsDraft?: boolean;
800
821
  /**
801
822
  * ISO 8601 datetime to schedule the post for future publishing
802
823
  */
@@ -805,6 +826,44 @@ type PostPayload = {
805
826
  * IANA timezone for the scheduled time (e.g. America/New_York). Defaults to UTC.
806
827
  */
807
828
  timezone?: string;
829
+ /**
830
+ * Optional unique key to safely retry this request. If a post was already created with the same key for this project, the original result is returned instead of creating or publishing a duplicate. Scoped per project; reuse a fresh key for each distinct post.
831
+ */
832
+ idempotencyKey?: string;
833
+ };
834
+ type CreatePostResponse = {
835
+ /**
836
+ * false only when every platform failed
837
+ */
838
+ success: boolean;
839
+ status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
840
+ /**
841
+ * ISO 8601 datetime the post is scheduled for (only present for scheduled posts)
842
+ */
843
+ scheduledFor?: string;
844
+ /**
845
+ * id of the saved Post document
846
+ */
847
+ postId: string;
848
+ platforms: Array<{
849
+ platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
850
+ /**
851
+ * For publish-now timeout fallback, true means the platform target was accepted and final status is still pending.
852
+ */
853
+ success: boolean;
854
+ /**
855
+ * Direct URL to the published post
856
+ */
857
+ platformPostUrl?: string;
858
+ /**
859
+ * Error message when success is false
860
+ */
861
+ error?: string;
862
+ /**
863
+ * Warning message when the post published but a non-critical follow-up action failed
864
+ */
865
+ warningMessage?: string;
866
+ }>;
808
867
  };
809
868
  type GetV1HealthData = {
810
869
  body?: never;
@@ -942,6 +1001,10 @@ type PostV1ConnectLinkedinSelectionByTokenResponses = {
942
1001
  * Profile this integration belongs to, or null if it was connected without a profile
943
1002
  */
944
1003
  profileId: string | null;
1004
+ /**
1005
+ * Name of the profile (social group) this integration belongs to, or null when it has no profile. Only populated on the list endpoint so clients can label the group without fetching the full profiles list.
1006
+ */
1007
+ profileName?: string | null;
945
1008
  /**
946
1009
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
947
1010
  */
@@ -966,6 +1029,10 @@ type PostV1ConnectLinkedinSelectionByTokenResponses = {
966
1029
  * Stable reason reconnection is required, or null while active
967
1030
  */
968
1031
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1032
+ /**
1033
+ * Whether this account can read analytics/insights. null = not determined yet, true = readable, false = the account did not grant the insights permission (auth can still be active). Reconnect and approve the analytics permission to fix a false.
1034
+ */
1035
+ insightsReadable: boolean | null;
969
1036
  createdAt: string;
970
1037
  }>;
971
1038
  };
@@ -1077,6 +1144,10 @@ type PostV1ConnectFacebookSelectionByTokenResponses = {
1077
1144
  * Profile this integration belongs to, or null if it was connected without a profile
1078
1145
  */
1079
1146
  profileId: string | null;
1147
+ /**
1148
+ * Name of the profile (social group) this integration belongs to, or null when it has no profile. Only populated on the list endpoint so clients can label the group without fetching the full profiles list.
1149
+ */
1150
+ profileName?: string | null;
1080
1151
  /**
1081
1152
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1082
1153
  */
@@ -1101,6 +1172,10 @@ type PostV1ConnectFacebookSelectionByTokenResponses = {
1101
1172
  * Stable reason reconnection is required, or null while active
1102
1173
  */
1103
1174
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1175
+ /**
1176
+ * Whether this account can read analytics/insights. null = not determined yet, true = readable, false = the account did not grant the insights permission (auth can still be active). Reconnect and approve the analytics permission to fix a false.
1177
+ */
1178
+ insightsReadable: boolean | null;
1104
1179
  createdAt: string;
1105
1180
  }>;
1106
1181
  };
@@ -1231,6 +1306,10 @@ type GetV1ConnectIntegrationsData = {
1231
1306
  * Number of integrations to skip
1232
1307
  */
1233
1308
  offset?: number;
1309
+ /**
1310
+ * Sort by connection date or account name (username, then displayName, then platform user ID).
1311
+ */
1312
+ sortBy?: 'createdAt' | 'name';
1234
1313
  sort?: SortOrder;
1235
1314
  };
1236
1315
  url: '/v1/connect/integrations';
@@ -1281,6 +1360,10 @@ type GetV1ConnectIntegrationsResponses = {
1281
1360
  * Profile this integration belongs to, or null if it was connected without a profile
1282
1361
  */
1283
1362
  profileId: string | null;
1363
+ /**
1364
+ * Name of the profile (social group) this integration belongs to, or null when it has no profile. Only populated on the list endpoint so clients can label the group without fetching the full profiles list.
1365
+ */
1366
+ profileName?: string | null;
1284
1367
  /**
1285
1368
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1286
1369
  */
@@ -1305,6 +1388,10 @@ type GetV1ConnectIntegrationsResponses = {
1305
1388
  * Stable reason reconnection is required, or null while active
1306
1389
  */
1307
1390
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1391
+ /**
1392
+ * Whether this account can read analytics/insights. null = not determined yet, true = readable, false = the account did not grant the insights permission (auth can still be active). Reconnect and approve the analytics permission to fix a false.
1393
+ */
1394
+ insightsReadable: boolean | null;
1308
1395
  createdAt: string;
1309
1396
  }>;
1310
1397
  };
@@ -1402,6 +1489,10 @@ type GetV1ConnectIntegrationsByIdResponses = {
1402
1489
  * Profile this integration belongs to, or null if it was connected without a profile
1403
1490
  */
1404
1491
  profileId: string | null;
1492
+ /**
1493
+ * Name of the profile (social group) this integration belongs to, or null when it has no profile. Only populated on the list endpoint so clients can label the group without fetching the full profiles list.
1494
+ */
1495
+ profileName?: string | null;
1405
1496
  /**
1406
1497
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1407
1498
  */
@@ -1426,6 +1517,10 @@ type GetV1ConnectIntegrationsByIdResponses = {
1426
1517
  * Stable reason reconnection is required, or null while active
1427
1518
  */
1428
1519
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1520
+ /**
1521
+ * Whether this account can read analytics/insights. null = not determined yet, true = readable, false = the account did not grant the insights permission (auth can still be active). Reconnect and approve the analytics permission to fix a false.
1522
+ */
1523
+ insightsReadable: boolean | null;
1429
1524
  createdAt: string;
1430
1525
  } & {
1431
1526
  /**
@@ -1450,12 +1545,16 @@ type GetV1ConnectIntegrationsByIdResponses = {
1450
1545
  */
1451
1546
  autoRefreshes: boolean;
1452
1547
  /**
1453
- * Whether this integration must complete OAuth again
1548
+ * Whether this integration should complete OAuth again — either the token needs re-auth, or (Instagram/Threads) the insights permission is missing so analytics calls will fail until reconnected. `valid` can still be true when only insights are missing, since publishing works.
1454
1549
  */
1455
1550
  reconnectRequired: boolean;
1456
- reason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1551
+ reason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | 'insights_permission_missing' | unknown;
1457
1552
  };
1458
1553
  updatedAt: string;
1554
+ /**
1555
+ * Whether this specific integration can import recent posts published outside PostPeer.
1556
+ */
1557
+ supportsExternalPostSync: boolean;
1459
1558
  };
1460
1559
  };
1461
1560
  };
@@ -1539,6 +1638,10 @@ type PatchV1ConnectIntegrationsByIdResponses = {
1539
1638
  * Profile this integration belongs to, or null if it was connected without a profile
1540
1639
  */
1541
1640
  profileId: string | null;
1641
+ /**
1642
+ * Name of the profile (social group) this integration belongs to, or null when it has no profile. Only populated on the list endpoint so clients can label the group without fetching the full profiles list.
1643
+ */
1644
+ profileName?: string | null;
1542
1645
  /**
1543
1646
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1544
1647
  */
@@ -1563,6 +1666,10 @@ type PatchV1ConnectIntegrationsByIdResponses = {
1563
1666
  * Stable reason reconnection is required, or null while active
1564
1667
  */
1565
1668
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1669
+ /**
1670
+ * Whether this account can read analytics/insights. null = not determined yet, true = readable, false = the account did not grant the insights permission (auth can still be active). Reconnect and approve the analytics permission to fix a false.
1671
+ */
1672
+ insightsReadable: boolean | null;
1566
1673
  createdAt: string;
1567
1674
  };
1568
1675
  };
@@ -1663,6 +1770,12 @@ type DeleteV1ProfilesByIdErrors = {
1663
1770
  404: {
1664
1771
  error: string;
1665
1772
  };
1773
+ /**
1774
+ * Default Response
1775
+ */
1776
+ 409: {
1777
+ error: string;
1778
+ };
1666
1779
  };
1667
1780
  type DeleteV1ProfilesByIdError = DeleteV1ProfilesByIdErrors[keyof DeleteV1ProfilesByIdErrors];
1668
1781
  type DeleteV1ProfilesByIdResponses = {
@@ -2374,6 +2487,10 @@ type GetV1PostsData = {
2374
2487
  body?: never;
2375
2488
  path?: never;
2376
2489
  query?: {
2490
+ /**
2491
+ * Filter posts by where they were originally published.
2492
+ */
2493
+ origin?: 'all' | 'postpeer' | 'external';
2377
2494
  status?: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2378
2495
  /**
2379
2496
  * Filter by platform (repeatable — OR logic)
@@ -2407,7 +2524,10 @@ type GetV1PostsData = {
2407
2524
  * Number of posts to skip
2408
2525
  */
2409
2526
  offset?: number;
2410
- sort?: SortOrder;
2527
+ /**
2528
+ * Sort direction by createdAt
2529
+ */
2530
+ sort?: 'asc' | 'desc';
2411
2531
  };
2412
2532
  url: '/v1/posts/';
2413
2533
  };
@@ -2436,6 +2556,15 @@ type GetV1PostsResponses = {
2436
2556
  * MongoDB ObjectId of the Post document
2437
2557
  */
2438
2558
  postId: string;
2559
+ origin: 'postpeer' | 'external';
2560
+ isExternal: boolean;
2561
+ externalSource?: {
2562
+ accountId: string;
2563
+ platformPostId: string;
2564
+ mediaType: 'image' | 'video' | 'reel' | 'carousel';
2565
+ thumbnailUrl: string | null;
2566
+ lastSyncedAt: string;
2567
+ };
2439
2568
  content: string;
2440
2569
  status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2441
2570
  /**
@@ -2489,12 +2618,12 @@ type PostV1PostsData = {
2489
2618
  type: 'image' | 'video' | 'gif' | 'document';
2490
2619
  url: string;
2491
2620
  /**
2492
- * Thumbnail image URL for video items. Supported on YouTube regular videos (not Shorts). JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
2621
+ * Thumbnail image URL for Facebook videos and YouTube regular videos (not Shorts). YouTube accepts JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
2493
2622
  */
2494
2623
  thumbnail?: string;
2495
2624
  }>;
2496
2625
  /**
2497
- * Target platform accounts to publish to
2626
+ * Target platform accounts. Drafts may be saved without an account.
2498
2627
  */
2499
2628
  platforms: Array<{
2500
2629
  platform: 'twitter';
@@ -2608,9 +2737,13 @@ type PostV1PostsData = {
2608
2737
  platformSpecificData?: GoogleBusinessConfigurations;
2609
2738
  }>;
2610
2739
  /**
2611
- * Publish immediately. Required when scheduledFor is omitted.
2740
+ * Publish immediately. scheduledFor takes precedence when provided.
2612
2741
  */
2613
2742
  publishNow?: boolean;
2743
+ /**
2744
+ * Save without publishing or scheduling. Cannot be combined with publishNow=true or scheduledFor.
2745
+ */
2746
+ saveAsDraft?: boolean;
2614
2747
  /**
2615
2748
  * ISO 8601 datetime to schedule the post for future publishing
2616
2749
  */
@@ -2619,6 +2752,10 @@ type PostV1PostsData = {
2619
2752
  * IANA timezone for the scheduled time (e.g. America/New_York). Defaults to UTC.
2620
2753
  */
2621
2754
  timezone?: string;
2755
+ /**
2756
+ * Optional unique key to safely retry this request. If a post was already created with the same key for this project, the original result is returned instead of creating or publishing a duplicate. Scoped per project; reuse a fresh key for each distinct post.
2757
+ */
2758
+ idempotencyKey?: string;
2622
2759
  };
2623
2760
  path?: never;
2624
2761
  query?: never;
@@ -2659,42 +2796,78 @@ type PostV1PostsResponses = {
2659
2796
  /**
2660
2797
  * Default Response
2661
2798
  */
2662
- 202: {
2799
+ 200: CreatePostResponse;
2800
+ /**
2801
+ * Default Response
2802
+ */
2803
+ 202: CreatePostResponse;
2804
+ };
2805
+ type PostV1PostsResponse = PostV1PostsResponses[keyof PostV1PostsResponses];
2806
+ type PostV1PostsByPostIdRetryData = {
2807
+ body: {
2663
2808
  /**
2664
- * false only when every platform failed
2809
+ * Optional ISO 8601 time to schedule the retry. Omit to retry immediately.
2665
2810
  */
2666
- success: boolean;
2667
- status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2811
+ scheduledFor?: string;
2668
2812
  /**
2669
- * ISO 8601 datetime the post is scheduled for (only present for scheduled posts)
2813
+ * IANA timezone for the scheduled retry (e.g. America/New_York). Defaults to UTC.
2670
2814
  */
2671
- scheduledFor?: string;
2815
+ timezone?: string;
2816
+ };
2817
+ path: {
2672
2818
  /**
2673
- * id of the saved Post document
2819
+ * ID of the failed post to retry.
2674
2820
  */
2675
2821
  postId: string;
2676
- platforms: Array<{
2677
- platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
2678
- /**
2679
- * For publish-now timeout fallback, true means the platform target was accepted and final status is still pending.
2680
- */
2681
- success: boolean;
2682
- /**
2683
- * Direct URL to the published post
2684
- */
2685
- platformPostUrl?: string;
2686
- /**
2687
- * Error message when success is false
2688
- */
2689
- error?: string;
2690
- /**
2691
- * Warning message when the post published but a non-critical follow-up action failed
2692
- */
2693
- warningMessage?: string;
2694
- }>;
2695
2822
  };
2823
+ query?: never;
2824
+ url: '/v1/posts/{postId}/retry';
2696
2825
  };
2697
- type PostV1PostsResponse = PostV1PostsResponses[keyof PostV1PostsResponses];
2826
+ type PostV1PostsByPostIdRetryErrors = {
2827
+ /**
2828
+ * Default Response
2829
+ */
2830
+ 400: {
2831
+ success: boolean;
2832
+ message: string;
2833
+ };
2834
+ /**
2835
+ * Default Response
2836
+ */
2837
+ 402: {
2838
+ success: boolean;
2839
+ message: string;
2840
+ };
2841
+ /**
2842
+ * Default Response
2843
+ */
2844
+ 403: {
2845
+ success: boolean;
2846
+ message: string;
2847
+ };
2848
+ /**
2849
+ * Default Response
2850
+ */
2851
+ 404: {
2852
+ success: boolean;
2853
+ message: string;
2854
+ };
2855
+ /**
2856
+ * Default Response
2857
+ */
2858
+ 503: {
2859
+ success: boolean;
2860
+ message: string;
2861
+ };
2862
+ };
2863
+ type PostV1PostsByPostIdRetryError = PostV1PostsByPostIdRetryErrors[keyof PostV1PostsByPostIdRetryErrors];
2864
+ type PostV1PostsByPostIdRetryResponses = {
2865
+ /**
2866
+ * Default Response
2867
+ */
2868
+ 202: CreatePostResponse;
2869
+ };
2870
+ type PostV1PostsByPostIdRetryResponse = PostV1PostsByPostIdRetryResponses[keyof PostV1PostsByPostIdRetryResponses];
2698
2871
  type DeleteV1PostsByPostIdData = {
2699
2872
  body?: never;
2700
2873
  path: {
@@ -2786,6 +2959,15 @@ type GetV1PostsByPostIdResponses = {
2786
2959
  * MongoDB ObjectId of the Post document
2787
2960
  */
2788
2961
  postId: string;
2962
+ origin: 'postpeer' | 'external';
2963
+ isExternal: boolean;
2964
+ externalSource?: {
2965
+ accountId: string;
2966
+ platformPostId: string;
2967
+ mediaType: 'image' | 'video' | 'reel' | 'carousel';
2968
+ thumbnailUrl: string | null;
2969
+ lastSyncedAt: string;
2970
+ };
2789
2971
  content: string;
2790
2972
  status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2791
2973
  /**
@@ -2826,78 +3008,85 @@ type GetV1PostsByPostIdResponses = {
2826
3008
  };
2827
3009
  };
2828
3010
  type GetV1PostsByPostIdResponse = GetV1PostsByPostIdResponses[keyof GetV1PostsByPostIdResponses];
2829
- type GetV1PostsScheduledData = {
2830
- body?: never;
2831
- path?: never;
2832
- query?: {
2833
- /**
2834
- * Page size (max 100)
2835
- */
2836
- limit?: number;
3011
+ type PutV1PostsByPostIdData = {
3012
+ body: PostPayload;
3013
+ path: {
2837
3014
  /**
2838
- * Number of scheduled posts to skip
3015
+ * Post identifier
2839
3016
  */
2840
- offset?: number;
2841
- sort?: SortOrder;
3017
+ postId: string;
2842
3018
  };
2843
- url: '/v1/posts/scheduled/';
3019
+ query?: never;
3020
+ url: '/v1/posts/{postId}';
2844
3021
  };
2845
- type GetV1PostsScheduledResponses = {
3022
+ type PutV1PostsByPostIdErrors = {
2846
3023
  /**
2847
3024
  * Default Response
2848
3025
  */
2849
- 200: {
2850
- success: boolean;
3026
+ 400: ErrorResponse;
3027
+ /**
3028
+ * Default Response
3029
+ */
3030
+ 402: ErrorResponse;
3031
+ /**
3032
+ * Default Response
3033
+ */
3034
+ 403: ErrorResponse;
3035
+ /**
3036
+ * Default Response
3037
+ */
3038
+ 404: ErrorResponse;
3039
+ /**
3040
+ * Default Response
3041
+ */
3042
+ 409: ErrorResponse;
3043
+ /**
3044
+ * Default Response
3045
+ */
3046
+ 503: ErrorResponse;
3047
+ };
3048
+ type PutV1PostsByPostIdError = PutV1PostsByPostIdErrors[keyof PutV1PostsByPostIdErrors];
3049
+ type PutV1PostsByPostIdResponses = {
3050
+ /**
3051
+ * Default Response
3052
+ */
3053
+ 200: CreatePostResponse;
3054
+ /**
3055
+ * Default Response
3056
+ */
3057
+ 202: CreatePostResponse;
3058
+ };
3059
+ type PutV1PostsByPostIdResponse = PutV1PostsByPostIdResponses[keyof PutV1PostsByPostIdResponses];
3060
+ type PostV1PostsSyncExternalData = {
3061
+ /**
3062
+ * Provide at most one of url or postId.
3063
+ */
3064
+ body: {
2851
3065
  /**
2852
- * Total matched scheduled posts across all pages
3066
+ * Connected PostPeer integration ID whose recent posts to sync.
2853
3067
  */
2854
- total: number;
2855
- posts: Array<{
2856
- /**
2857
- * MongoDB ObjectId of the Post document
2858
- */
2859
- postId: string;
2860
- /**
2861
- * Post text body
2862
- */
2863
- content: string;
2864
- /**
2865
- * ISO 8601 scheduled datetime
2866
- */
2867
- scheduledFor: string | null;
2868
- /**
2869
- * IANA timezone for the scheduled time
2870
- */
2871
- timezone: string;
2872
- /**
2873
- * Media attachments
2874
- */
2875
- mediaItems?: Array<{
2876
- type: 'image' | 'video' | 'gif' | 'document';
2877
- url: string;
2878
- /**
2879
- * Thumbnail image URL for video items. Supported on YouTube regular videos (not Shorts). JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
2880
- */
2881
- thumbnail?: string;
2882
- }>;
2883
- platforms: Array<{
2884
- platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
2885
- status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2886
- }>;
2887
- createdAt: string;
2888
- }>;
2889
- };
2890
- };
2891
- type GetV1PostsScheduledResponse = GetV1PostsScheduledResponses[keyof GetV1PostsScheduledResponses];
2892
- type DeleteV1PostsScheduledByPostIdData = {
2893
- body?: never;
2894
- path: {
2895
- postId: string;
3068
+ accountId: string;
3069
+ /**
3070
+ * Platform post URL to locate among the account's recent posts.
3071
+ */
3072
+ url?: string;
3073
+ /**
3074
+ * Native platform post ID to locate.
3075
+ */
3076
+ postId?: string;
2896
3077
  };
3078
+ path?: never;
2897
3079
  query?: never;
2898
- url: '/v1/posts/scheduled/{postId}';
3080
+ url: '/v1/posts/sync-external';
2899
3081
  };
2900
- type DeleteV1PostsScheduledByPostIdErrors = {
3082
+ type PostV1PostsSyncExternalErrors = {
3083
+ /**
3084
+ * Default Response
3085
+ */
3086
+ 400: {
3087
+ success: boolean;
3088
+ message: string;
3089
+ };
2901
3090
  /**
2902
3091
  * Default Response
2903
3092
  */
@@ -2912,18 +3101,240 @@ type DeleteV1PostsScheduledByPostIdErrors = {
2912
3101
  success: boolean;
2913
3102
  message: string;
2914
3103
  };
2915
- };
2916
- type DeleteV1PostsScheduledByPostIdError = DeleteV1PostsScheduledByPostIdErrors[keyof DeleteV1PostsScheduledByPostIdErrors];
2917
- type DeleteV1PostsScheduledByPostIdResponses = {
2918
3104
  /**
2919
3105
  * Default Response
2920
3106
  */
2921
- 200: {
3107
+ 502: {
2922
3108
  success: boolean;
2923
3109
  message: string;
2924
3110
  };
2925
- };
2926
- type DeleteV1PostsScheduledByPostIdResponse = DeleteV1PostsScheduledByPostIdResponses[keyof DeleteV1PostsScheduledByPostIdResponses];
3111
+ /**
3112
+ * Default Response
3113
+ */
3114
+ 503: {
3115
+ success: boolean;
3116
+ message: string;
3117
+ };
3118
+ };
3119
+ type PostV1PostsSyncExternalError = PostV1PostsSyncExternalErrors[keyof PostV1PostsSyncExternalErrors];
3120
+ type PostV1PostsSyncExternalResponses = {
3121
+ /**
3122
+ * Default Response
3123
+ */
3124
+ 200: {
3125
+ success: true;
3126
+ synced: {
3127
+ /**
3128
+ * Number of recent posts returned by the platform, capped at 50.
3129
+ */
3130
+ postsFound: number;
3131
+ /**
3132
+ * Number of posts inserted or refreshed in PostPeer.
3133
+ */
3134
+ postsSynced: number;
3135
+ /**
3136
+ * True when a recent or currently-running account sync prevented another live platform fetch.
3137
+ */
3138
+ skipped: boolean;
3139
+ };
3140
+ found?: boolean;
3141
+ post?: {
3142
+ /**
3143
+ * Stable PostPeer post ID.
3144
+ */
3145
+ postId: string;
3146
+ /**
3147
+ * Where the post was originally published.
3148
+ */
3149
+ origin: 'postpeer' | 'external';
3150
+ /**
3151
+ * True when the post was originally published outside PostPeer.
3152
+ */
3153
+ isExternal: boolean;
3154
+ platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
3155
+ accountId: string;
3156
+ platformPostId: string;
3157
+ platformPostUrl: string | null;
3158
+ content: string;
3159
+ publishedAt: string | null;
3160
+ mediaType: 'image' | 'video' | 'reel' | 'carousel';
3161
+ thumbnailUrl: string | null;
3162
+ analytics: {
3163
+ impressions: number | null;
3164
+ reach: number | null;
3165
+ likes: number | null;
3166
+ comments: number | null;
3167
+ shares: number | null;
3168
+ saves: number | null;
3169
+ clicks: number | null;
3170
+ views: number | null;
3171
+ /**
3172
+ * Engagement rate (0-1). null when the platform does not report engagement.
3173
+ */
3174
+ engagementRate: number | null;
3175
+ /**
3176
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3177
+ */
3178
+ avgWatchTime?: number | null;
3179
+ /**
3180
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3181
+ */
3182
+ totalWatchTime?: number | null;
3183
+ /**
3184
+ * Instagram Reels only. Reels skip rate as reported by Meta (reels_skip_rate, added Dec 2025) — the share of views that skipped past the reel. null for other media/platforms or when Meta has no value yet.
3185
+ */
3186
+ skipRate?: number | null;
3187
+ };
3188
+ } | unknown;
3189
+ posts?: Array<{
3190
+ /**
3191
+ * Stable PostPeer post ID.
3192
+ */
3193
+ postId: string;
3194
+ /**
3195
+ * Where the post was originally published.
3196
+ */
3197
+ origin: 'postpeer' | 'external';
3198
+ /**
3199
+ * True when the post was originally published outside PostPeer.
3200
+ */
3201
+ isExternal: boolean;
3202
+ platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
3203
+ accountId: string;
3204
+ platformPostId: string;
3205
+ platformPostUrl: string | null;
3206
+ content: string;
3207
+ publishedAt: string | null;
3208
+ mediaType: 'image' | 'video' | 'reel' | 'carousel';
3209
+ thumbnailUrl: string | null;
3210
+ analytics: {
3211
+ impressions: number | null;
3212
+ reach: number | null;
3213
+ likes: number | null;
3214
+ comments: number | null;
3215
+ shares: number | null;
3216
+ saves: number | null;
3217
+ clicks: number | null;
3218
+ views: number | null;
3219
+ /**
3220
+ * Engagement rate (0-1). null when the platform does not report engagement.
3221
+ */
3222
+ engagementRate: number | null;
3223
+ /**
3224
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3225
+ */
3226
+ avgWatchTime?: number | null;
3227
+ /**
3228
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3229
+ */
3230
+ totalWatchTime?: number | null;
3231
+ /**
3232
+ * Instagram Reels only. Reels skip rate as reported by Meta (reels_skip_rate, added Dec 2025) — the share of views that skipped past the reel. null for other media/platforms or when Meta has no value yet.
3233
+ */
3234
+ skipRate?: number | null;
3235
+ };
3236
+ }>;
3237
+ };
3238
+ };
3239
+ type PostV1PostsSyncExternalResponse = PostV1PostsSyncExternalResponses[keyof PostV1PostsSyncExternalResponses];
3240
+ type GetV1PostsScheduledData = {
3241
+ body?: never;
3242
+ path?: never;
3243
+ query?: {
3244
+ /**
3245
+ * Page size (max 100)
3246
+ */
3247
+ limit?: number;
3248
+ /**
3249
+ * Number of scheduled posts to skip
3250
+ */
3251
+ offset?: number;
3252
+ sort?: SortOrder;
3253
+ };
3254
+ url: '/v1/posts/scheduled/';
3255
+ };
3256
+ type GetV1PostsScheduledResponses = {
3257
+ /**
3258
+ * Default Response
3259
+ */
3260
+ 200: {
3261
+ success: boolean;
3262
+ /**
3263
+ * Total matched scheduled posts across all pages
3264
+ */
3265
+ total: number;
3266
+ posts: Array<{
3267
+ /**
3268
+ * MongoDB ObjectId of the Post document
3269
+ */
3270
+ postId: string;
3271
+ /**
3272
+ * Post text body
3273
+ */
3274
+ content: string;
3275
+ /**
3276
+ * ISO 8601 scheduled datetime
3277
+ */
3278
+ scheduledFor: string | null;
3279
+ /**
3280
+ * IANA timezone for the scheduled time
3281
+ */
3282
+ timezone: string;
3283
+ /**
3284
+ * Media attachments
3285
+ */
3286
+ mediaItems?: Array<{
3287
+ type: 'image' | 'video' | 'gif' | 'document';
3288
+ url: string;
3289
+ /**
3290
+ * Thumbnail image URL for Facebook videos and YouTube regular videos (not Shorts). YouTube accepts JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
3291
+ */
3292
+ thumbnail?: string;
3293
+ }>;
3294
+ platforms: Array<{
3295
+ platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
3296
+ status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
3297
+ }>;
3298
+ createdAt: string;
3299
+ }>;
3300
+ };
3301
+ };
3302
+ type GetV1PostsScheduledResponse = GetV1PostsScheduledResponses[keyof GetV1PostsScheduledResponses];
3303
+ type DeleteV1PostsScheduledByPostIdData = {
3304
+ body?: never;
3305
+ path: {
3306
+ postId: string;
3307
+ };
3308
+ query?: never;
3309
+ url: '/v1/posts/scheduled/{postId}';
3310
+ };
3311
+ type DeleteV1PostsScheduledByPostIdErrors = {
3312
+ /**
3313
+ * Default Response
3314
+ */
3315
+ 404: {
3316
+ success: boolean;
3317
+ message: string;
3318
+ };
3319
+ /**
3320
+ * Default Response
3321
+ */
3322
+ 409: {
3323
+ success: boolean;
3324
+ message: string;
3325
+ };
3326
+ };
3327
+ type DeleteV1PostsScheduledByPostIdError = DeleteV1PostsScheduledByPostIdErrors[keyof DeleteV1PostsScheduledByPostIdErrors];
3328
+ type DeleteV1PostsScheduledByPostIdResponses = {
3329
+ /**
3330
+ * Default Response
3331
+ */
3332
+ 200: {
3333
+ success: boolean;
3334
+ message: string;
3335
+ };
3336
+ };
3337
+ type DeleteV1PostsScheduledByPostIdResponse = DeleteV1PostsScheduledByPostIdResponses[keyof DeleteV1PostsScheduledByPostIdResponses];
2927
3338
  type PatchV1PostsScheduledByPostIdData = {
2928
3339
  body: {
2929
3340
  /**
@@ -2989,7 +3400,7 @@ type PutV1PostsScheduledByPostIdData = {
2989
3400
  type: 'image' | 'video' | 'gif' | 'document';
2990
3401
  url: string;
2991
3402
  /**
2992
- * Thumbnail image URL for video items. Supported on YouTube regular videos (not Shorts). JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
3403
+ * Thumbnail image URL for Facebook videos and YouTube regular videos (not Shorts). YouTube accepts JPEG, PNG, or GIF, max 2 MB, min 640 px wide.
2993
3404
  */
2994
3405
  thumbnail?: string;
2995
3406
  }>;
@@ -3173,9 +3584,9 @@ type PutV1PostsScheduledByPostIdResponses = {
3173
3584
  */
3174
3585
  200: {
3175
3586
  success: boolean;
3176
- message: string;
3587
+ message?: string;
3177
3588
  postId: string;
3178
- scheduledFor: string;
3589
+ scheduledFor?: string;
3179
3590
  };
3180
3591
  };
3181
3592
  type PutV1PostsScheduledByPostIdResponse = PutV1PostsScheduledByPostIdResponses[keyof PutV1PostsScheduledByPostIdResponses];
@@ -3211,6 +3622,259 @@ type PostV1MediaUploadResponses = {
3211
3622
  };
3212
3623
  };
3213
3624
  type PostV1MediaUploadResponse = PostV1MediaUploadResponses[keyof PostV1MediaUploadResponses];
3625
+ type GetV1AnalyticsInstagramFollowerStatsData = {
3626
+ body?: never;
3627
+ path?: never;
3628
+ query: {
3629
+ /**
3630
+ * Integration ID for the connected Instagram account.
3631
+ */
3632
+ accountId: string;
3633
+ };
3634
+ url: '/v1/analytics/instagram/follower-stats';
3635
+ };
3636
+ type GetV1AnalyticsInstagramFollowerStatsErrors = {
3637
+ /**
3638
+ * Default Response
3639
+ */
3640
+ 400: {
3641
+ success: boolean;
3642
+ message: string;
3643
+ };
3644
+ /**
3645
+ * Default Response
3646
+ */
3647
+ 402: {
3648
+ success: boolean;
3649
+ message: string;
3650
+ };
3651
+ /**
3652
+ * Default Response
3653
+ */
3654
+ 404: {
3655
+ success: boolean;
3656
+ message: string;
3657
+ };
3658
+ /**
3659
+ * Default Response
3660
+ */
3661
+ 502: {
3662
+ success: boolean;
3663
+ message: string;
3664
+ };
3665
+ };
3666
+ type GetV1AnalyticsInstagramFollowerStatsError = GetV1AnalyticsInstagramFollowerStatsErrors[keyof GetV1AnalyticsInstagramFollowerStatsErrors];
3667
+ type GetV1AnalyticsInstagramFollowerStatsResponses = {
3668
+ /**
3669
+ * Default Response
3670
+ */
3671
+ 200: {
3672
+ success: true;
3673
+ accountId: string;
3674
+ platform: 'instagram';
3675
+ /**
3676
+ * Live follower count. null when Meta does not make the value available.
3677
+ */
3678
+ currentFollowers: number | null;
3679
+ fetchedAt: string;
3680
+ };
3681
+ };
3682
+ type GetV1AnalyticsInstagramFollowerStatsResponse = GetV1AnalyticsInstagramFollowerStatsResponses[keyof GetV1AnalyticsInstagramFollowerStatsResponses];
3683
+ type GetV1AnalyticsInstagramAccountInsightsData = {
3684
+ body?: never;
3685
+ path?: never;
3686
+ query: {
3687
+ /**
3688
+ * Integration ID for the connected Instagram account.
3689
+ */
3690
+ accountId: string;
3691
+ /**
3692
+ * Comma-separated account metrics. Valid metrics: reach, views, accounts_engaged, total_interactions, comments, likes, saves, shares, replies, reposts, follows_and_unfollows, profile_links_taps, profile_views.
3693
+ */
3694
+ metrics?: string;
3695
+ /**
3696
+ * Start date (YYYY-MM-DD). Defaults to 30 days ago.
3697
+ */
3698
+ since?: string;
3699
+ /**
3700
+ * End date (YYYY-MM-DD). Defaults to today.
3701
+ */
3702
+ until?: string;
3703
+ /**
3704
+ * total_value returns an aggregate; time_series returns daily reach values.
3705
+ */
3706
+ metricType?: 'total_value' | 'time_series';
3707
+ /**
3708
+ * Optional Meta breakdown dimension. Only valid with metricType=total_value.
3709
+ */
3710
+ breakdown?: 'media_product_type' | 'follow_type' | 'follower_type' | 'contact_button_type';
3711
+ };
3712
+ url: '/v1/analytics/instagram/account-insights';
3713
+ };
3714
+ type GetV1AnalyticsInstagramAccountInsightsErrors = {
3715
+ /**
3716
+ * Default Response
3717
+ */
3718
+ 400: {
3719
+ success: boolean;
3720
+ message: string;
3721
+ };
3722
+ /**
3723
+ * Default Response
3724
+ */
3725
+ 402: {
3726
+ success: boolean;
3727
+ message: string;
3728
+ };
3729
+ /**
3730
+ * Default Response
3731
+ */
3732
+ 403: {
3733
+ success: boolean;
3734
+ message: string;
3735
+ };
3736
+ /**
3737
+ * Default Response
3738
+ */
3739
+ 404: {
3740
+ success: boolean;
3741
+ message: string;
3742
+ };
3743
+ /**
3744
+ * Default Response
3745
+ */
3746
+ 502: {
3747
+ success: boolean;
3748
+ message: string;
3749
+ };
3750
+ };
3751
+ type GetV1AnalyticsInstagramAccountInsightsError = GetV1AnalyticsInstagramAccountInsightsErrors[keyof GetV1AnalyticsInstagramAccountInsightsErrors];
3752
+ type GetV1AnalyticsInstagramAccountInsightsResponses = {
3753
+ /**
3754
+ * Default Response
3755
+ */
3756
+ 200: {
3757
+ success: true;
3758
+ accountId: string;
3759
+ platform: 'instagram';
3760
+ dateRange: {
3761
+ since: string;
3762
+ until: string;
3763
+ };
3764
+ metricType: 'total_value' | 'time_series';
3765
+ metrics: {
3766
+ [key: string]: {
3767
+ total: number;
3768
+ values?: Array<{
3769
+ date: string;
3770
+ value: number;
3771
+ }>;
3772
+ breakdowns?: Array<{
3773
+ dimensionKeys: Array<string>;
3774
+ results: Array<{
3775
+ dimensionValues: Array<string>;
3776
+ value: number;
3777
+ }>;
3778
+ }>;
3779
+ };
3780
+ };
3781
+ dataDelay: string;
3782
+ };
3783
+ };
3784
+ type GetV1AnalyticsInstagramAccountInsightsResponse = GetV1AnalyticsInstagramAccountInsightsResponses[keyof GetV1AnalyticsInstagramAccountInsightsResponses];
3785
+ type GetV1AnalyticsInstagramDemographicsData = {
3786
+ body?: never;
3787
+ path?: never;
3788
+ query: {
3789
+ /**
3790
+ * Integration ID for the connected Instagram account.
3791
+ */
3792
+ accountId: string;
3793
+ /**
3794
+ * Audience whose demographic data should be returned.
3795
+ */
3796
+ metric?: 'follower_demographics' | 'engaged_audience_demographics' | 'reached_audience_demographics';
3797
+ /**
3798
+ * Comma-separated demographic dimensions: age, city, country, gender. Defaults to all four.
3799
+ */
3800
+ breakdown?: string;
3801
+ /**
3802
+ * Meta demographic timeframe. this_week covers the last 7 days; this_month covers the last 30 days.
3803
+ */
3804
+ timeframe?: 'this_week' | 'this_month';
3805
+ };
3806
+ url: '/v1/analytics/instagram/demographics';
3807
+ };
3808
+ type GetV1AnalyticsInstagramDemographicsErrors = {
3809
+ /**
3810
+ * Default Response
3811
+ */
3812
+ 400: {
3813
+ success: boolean;
3814
+ message: string;
3815
+ };
3816
+ /**
3817
+ * Default Response
3818
+ */
3819
+ 402: {
3820
+ success: boolean;
3821
+ message: string;
3822
+ };
3823
+ /**
3824
+ * Default Response
3825
+ */
3826
+ 403: {
3827
+ success: boolean;
3828
+ message: string;
3829
+ };
3830
+ /**
3831
+ * Default Response
3832
+ */
3833
+ 404: {
3834
+ success: boolean;
3835
+ message: string;
3836
+ };
3837
+ /**
3838
+ * Default Response
3839
+ */
3840
+ 502: {
3841
+ success: boolean;
3842
+ message: string;
3843
+ };
3844
+ };
3845
+ type GetV1AnalyticsInstagramDemographicsError = GetV1AnalyticsInstagramDemographicsErrors[keyof GetV1AnalyticsInstagramDemographicsErrors];
3846
+ type GetV1AnalyticsInstagramDemographicsResponses = {
3847
+ /**
3848
+ * Default Response
3849
+ */
3850
+ 200: {
3851
+ success: true;
3852
+ accountId: string;
3853
+ platform: 'instagram';
3854
+ metric: 'follower_demographics' | 'engaged_audience_demographics' | 'reached_audience_demographics';
3855
+ timeframe: 'this_week' | 'this_month';
3856
+ demographics: {
3857
+ age?: Array<{
3858
+ dimension: string;
3859
+ value: number;
3860
+ }>;
3861
+ city?: Array<{
3862
+ dimension: string;
3863
+ value: number;
3864
+ }>;
3865
+ country?: Array<{
3866
+ dimension: string;
3867
+ value: number;
3868
+ }>;
3869
+ gender?: Array<{
3870
+ dimension: string;
3871
+ value: number;
3872
+ }>;
3873
+ };
3874
+ note: string;
3875
+ };
3876
+ };
3877
+ type GetV1AnalyticsInstagramDemographicsResponse = GetV1AnalyticsInstagramDemographicsResponses[keyof GetV1AnalyticsInstagramDemographicsResponses];
3214
3878
  type GetV1AnalyticsData = {
3215
3879
  body?: never;
3216
3880
  path?: never;
@@ -3221,11 +3885,11 @@ type GetV1AnalyticsData = {
3221
3885
  postId?: string;
3222
3886
  platform?: Platform;
3223
3887
  /**
3224
- * Integration ID. Required for external ID lookups and source=platform.
3888
+ * Integration ID. Required for native platform post ID lookups and source=platform.
3225
3889
  */
3226
3890
  accountId?: string;
3227
3891
  /**
3228
- * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3892
+ * Where the result came from. "postpeer" = stored in PostPeer, including synced external posts. "platform" = fetched live without requiring a stored record.
3229
3893
  */
3230
3894
  source?: 'postpeer' | 'platform';
3231
3895
  /**
@@ -3284,15 +3948,27 @@ type GetV1AnalyticsResponses = {
3284
3948
  success: boolean;
3285
3949
  post: {
3286
3950
  /**
3287
- * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3951
+ * Where the result came from. "postpeer" = stored in PostPeer, including synced external posts. "platform" = fetched live without requiring a stored record.
3288
3952
  */
3289
3953
  source: 'postpeer' | 'platform';
3290
3954
  /**
3291
- * PostPeer post ID. null when source=platform (post fetched directly from the platform).
3955
+ * Where a stored post was originally published. Present when source=postpeer.
3956
+ */
3957
+ origin?: 'postpeer' | 'external';
3958
+ /**
3959
+ * PostPeer post ID. External synced posts also receive an ID. null only when source=platform is fetched live.
3292
3960
  */
3293
3961
  postId: string | null;
3294
3962
  content: string | null;
3295
3963
  publishedAt: string | null;
3964
+ /**
3965
+ * Normalized media type when the platform exposes it.
3966
+ */
3967
+ mediaType?: 'image' | 'video' | 'reel' | 'carousel';
3968
+ /**
3969
+ * Post thumbnail or representative media URL, if available.
3970
+ */
3971
+ thumbnailUrl?: string | null;
3296
3972
  aggregated: {
3297
3973
  impressions: number | null;
3298
3974
  reach: number | null;
@@ -3306,6 +3982,18 @@ type GetV1AnalyticsResponses = {
3306
3982
  * Engagement rate (0-1). null when the platform does not report engagement.
3307
3983
  */
3308
3984
  engagementRate: number | null;
3985
+ /**
3986
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3987
+ */
3988
+ avgWatchTime?: number | null;
3989
+ /**
3990
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3991
+ */
3992
+ totalWatchTime?: number | null;
3993
+ /**
3994
+ * Instagram Reels only. Reels skip rate as reported by Meta (reels_skip_rate, added Dec 2025) — the share of views that skipped past the reel. null for other media/platforms or when Meta has no value yet.
3995
+ */
3996
+ skipRate?: number | null;
3309
3997
  };
3310
3998
  platforms: Array<{
3311
3999
  platform: Platform;
@@ -3330,6 +4018,18 @@ type GetV1AnalyticsResponses = {
3330
4018
  * Engagement rate (0-1). null when the platform does not report engagement.
3331
4019
  */
3332
4020
  engagementRate: number | null;
4021
+ /**
4022
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
4023
+ */
4024
+ avgWatchTime?: number | null;
4025
+ /**
4026
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
4027
+ */
4028
+ totalWatchTime?: number | null;
4029
+ /**
4030
+ * Instagram Reels only. Reels skip rate as reported by Meta (reels_skip_rate, added Dec 2025) — the share of views that skipped past the reel. null for other media/platforms or when Meta has no value yet.
4031
+ */
4032
+ skipRate?: number | null;
3333
4033
  };
3334
4034
  }>;
3335
4035
  };
@@ -3343,15 +4043,27 @@ type GetV1AnalyticsResponses = {
3343
4043
  limit: number;
3344
4044
  posts: Array<{
3345
4045
  /**
3346
- * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
4046
+ * Where the result came from. "postpeer" = stored in PostPeer, including synced external posts. "platform" = fetched live without requiring a stored record.
3347
4047
  */
3348
4048
  source: 'postpeer' | 'platform';
3349
4049
  /**
3350
- * PostPeer post ID. null when source=platform (post fetched directly from the platform).
4050
+ * Where a stored post was originally published. Present when source=postpeer.
4051
+ */
4052
+ origin?: 'postpeer' | 'external';
4053
+ /**
4054
+ * PostPeer post ID. External synced posts also receive an ID. null only when source=platform is fetched live.
3351
4055
  */
3352
4056
  postId: string | null;
3353
4057
  content: string | null;
3354
4058
  publishedAt: string | null;
4059
+ /**
4060
+ * Normalized media type when the platform exposes it.
4061
+ */
4062
+ mediaType?: 'image' | 'video' | 'reel' | 'carousel';
4063
+ /**
4064
+ * Post thumbnail or representative media URL, if available.
4065
+ */
4066
+ thumbnailUrl?: string | null;
3355
4067
  aggregated: {
3356
4068
  impressions: number | null;
3357
4069
  reach: number | null;
@@ -3365,6 +4077,18 @@ type GetV1AnalyticsResponses = {
3365
4077
  * Engagement rate (0-1). null when the platform does not report engagement.
3366
4078
  */
3367
4079
  engagementRate: number | null;
4080
+ /**
4081
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
4082
+ */
4083
+ avgWatchTime?: number | null;
4084
+ /**
4085
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
4086
+ */
4087
+ totalWatchTime?: number | null;
4088
+ /**
4089
+ * Instagram Reels only. Reels skip rate as reported by Meta (reels_skip_rate, added Dec 2025) — the share of views that skipped past the reel. null for other media/platforms or when Meta has no value yet.
4090
+ */
4091
+ skipRate?: number | null;
3368
4092
  };
3369
4093
  platforms: Array<{
3370
4094
  platform: Platform;
@@ -3389,6 +4113,18 @@ type GetV1AnalyticsResponses = {
3389
4113
  * Engagement rate (0-1). null when the platform does not report engagement.
3390
4114
  */
3391
4115
  engagementRate: number | null;
4116
+ /**
4117
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
4118
+ */
4119
+ avgWatchTime?: number | null;
4120
+ /**
4121
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
4122
+ */
4123
+ totalWatchTime?: number | null;
4124
+ /**
4125
+ * Instagram Reels only. Reels skip rate as reported by Meta (reels_skip_rate, added Dec 2025) — the share of views that skipped past the reel. null for other media/platforms or when Meta has no value yet.
4126
+ */
4127
+ skipRate?: number | null;
3392
4128
  };
3393
4129
  }>;
3394
4130
  }>;
@@ -3402,7 +4138,7 @@ type GetV1CommentsData = {
3402
4138
  /**
3403
4139
  * Platform to fetch comments from.
3404
4140
  */
3405
- platform: 'facebook' | 'instagram' | 'threads';
4141
+ platform: 'facebook' | 'instagram' | 'threads' | 'linkedin';
3406
4142
  /**
3407
4143
  * Integration ID of the connected account.
3408
4144
  */
@@ -3430,6 +4166,20 @@ type GetV1CommentsErrors = {
3430
4166
  success: boolean;
3431
4167
  message: string;
3432
4168
  };
4169
+ /**
4170
+ * Default Response
4171
+ */
4172
+ 401: {
4173
+ success: boolean;
4174
+ message: string;
4175
+ };
4176
+ /**
4177
+ * Default Response
4178
+ */
4179
+ 403: {
4180
+ success: boolean;
4181
+ message: string;
4182
+ };
3433
4183
  /**
3434
4184
  * Default Response
3435
4185
  */
@@ -3437,6 +4187,13 @@ type GetV1CommentsErrors = {
3437
4187
  success: boolean;
3438
4188
  message: string;
3439
4189
  };
4190
+ /**
4191
+ * Default Response
4192
+ */
4193
+ 429: {
4194
+ success: boolean;
4195
+ message: string;
4196
+ };
3440
4197
  /**
3441
4198
  * Default Response
3442
4199
  */
@@ -3488,7 +4245,7 @@ type PostV1CommentsData = {
3488
4245
  /**
3489
4246
  * Platform to post the comment on.
3490
4247
  */
3491
- platform: 'facebook' | 'instagram' | 'threads';
4248
+ platform: 'facebook' | 'instagram' | 'threads' | 'linkedin';
3492
4249
  /**
3493
4250
  * Integration ID.
3494
4251
  */
@@ -3518,6 +4275,13 @@ type PostV1CommentsErrors = {
3518
4275
  success: boolean;
3519
4276
  message: string;
3520
4277
  };
4278
+ /**
4279
+ * Default Response
4280
+ */
4281
+ 402: {
4282
+ success: boolean;
4283
+ message: string;
4284
+ };
3521
4285
  /**
3522
4286
  * Default Response
3523
4287
  */
@@ -3556,7 +4320,7 @@ type DeleteV1CommentsByCommentIdData = {
3556
4320
  commentId: string;
3557
4321
  };
3558
4322
  query: {
3559
- platform: 'facebook' | 'instagram' | 'threads';
4323
+ platform: 'facebook' | 'instagram' | 'threads' | 'linkedin';
3560
4324
  /**
3561
4325
  * Integration ID.
3562
4326
  */
@@ -3599,7 +4363,7 @@ type DeleteV1CommentsByCommentIdResponses = {
3599
4363
  type DeleteV1CommentsByCommentIdResponse = DeleteV1CommentsByCommentIdResponses[keyof DeleteV1CommentsByCommentIdResponses];
3600
4364
  type PatchV1CommentsByCommentIdData = {
3601
4365
  body: {
3602
- platform: 'facebook' | 'instagram' | 'threads';
4366
+ platform: 'facebook' | 'instagram' | 'threads' | 'linkedin';
3603
4367
  /**
3604
4368
  * Integration ID.
3605
4369
  */
@@ -3766,11 +4530,265 @@ type PostV1MessagesData = {
3766
4530
  */
3767
4531
  text: string;
3768
4532
  };
3769
- path?: never;
3770
- query?: never;
3771
- url: '/v1/messages/';
4533
+ path?: never;
4534
+ query?: never;
4535
+ url: '/v1/messages/';
4536
+ };
4537
+ type PostV1MessagesErrors = {
4538
+ /**
4539
+ * Default Response
4540
+ */
4541
+ 400: {
4542
+ success: boolean;
4543
+ message: string;
4544
+ };
4545
+ /**
4546
+ * Default Response
4547
+ */
4548
+ 402: {
4549
+ success: boolean;
4550
+ message: string;
4551
+ };
4552
+ /**
4553
+ * Default Response
4554
+ */
4555
+ 404: {
4556
+ success: boolean;
4557
+ message: string;
4558
+ };
4559
+ /**
4560
+ * Default Response
4561
+ */
4562
+ 502: {
4563
+ success: boolean;
4564
+ message: string;
4565
+ };
4566
+ };
4567
+ type PostV1MessagesError = PostV1MessagesErrors[keyof PostV1MessagesErrors];
4568
+ type PostV1MessagesResponses = {
4569
+ /**
4570
+ * Default Response
4571
+ */
4572
+ 200: {
4573
+ success: boolean;
4574
+ /**
4575
+ * ID of the sent message.
4576
+ */
4577
+ messageId: string;
4578
+ };
4579
+ };
4580
+ type PostV1MessagesResponse = PostV1MessagesResponses[keyof PostV1MessagesResponses];
4581
+ type GetV1MessagesByConversationIdData = {
4582
+ body?: never;
4583
+ path: {
4584
+ /**
4585
+ * Platform conversation ID.
4586
+ */
4587
+ conversationId: string;
4588
+ };
4589
+ query: {
4590
+ platform: 'instagram';
4591
+ /**
4592
+ * Integration ID.
4593
+ */
4594
+ accountId: string;
4595
+ limit?: number;
4596
+ after?: string;
4597
+ };
4598
+ url: '/v1/messages/{conversationId}';
4599
+ };
4600
+ type GetV1MessagesByConversationIdErrors = {
4601
+ /**
4602
+ * Default Response
4603
+ */
4604
+ 400: {
4605
+ success: boolean;
4606
+ message: string;
4607
+ };
4608
+ /**
4609
+ * Default Response
4610
+ */
4611
+ 404: {
4612
+ success: boolean;
4613
+ message: string;
4614
+ };
4615
+ /**
4616
+ * Default Response
4617
+ */
4618
+ 502: {
4619
+ success: boolean;
4620
+ message: string;
4621
+ };
4622
+ };
4623
+ type GetV1MessagesByConversationIdError = GetV1MessagesByConversationIdErrors[keyof GetV1MessagesByConversationIdErrors];
4624
+ type GetV1MessagesByConversationIdResponses = {
4625
+ /**
4626
+ * Default Response
4627
+ */
4628
+ 200: {
4629
+ success: boolean;
4630
+ messages: Array<{
4631
+ /**
4632
+ * Platform message ID
4633
+ */
4634
+ id: string;
4635
+ text: string | null;
4636
+ from: {
4637
+ id: string | null;
4638
+ name: string | null;
4639
+ };
4640
+ timestamp: string | null;
4641
+ }>;
4642
+ nextCursor: string | null;
4643
+ };
4644
+ };
4645
+ type GetV1MessagesByConversationIdResponse = GetV1MessagesByConversationIdResponses[keyof GetV1MessagesByConversationIdResponses];
4646
+ type GetV1CommentAutomationsData = {
4647
+ body?: never;
4648
+ path?: never;
4649
+ query?: {
4650
+ accountId?: string;
4651
+ };
4652
+ url: '/v1/comment-automations/';
4653
+ };
4654
+ type GetV1CommentAutomationsErrors = {
4655
+ /**
4656
+ * Default Response
4657
+ */
4658
+ 400: {
4659
+ success: boolean;
4660
+ message: string;
4661
+ };
4662
+ };
4663
+ type GetV1CommentAutomationsError = GetV1CommentAutomationsErrors[keyof GetV1CommentAutomationsErrors];
4664
+ type GetV1CommentAutomationsResponses = {
4665
+ /**
4666
+ * Default Response
4667
+ */
4668
+ 200: {
4669
+ success: boolean;
4670
+ automations: Array<{
4671
+ id: string;
4672
+ accountId: string;
4673
+ platform: string;
4674
+ name: string;
4675
+ status: 'active' | 'paused';
4676
+ trigger: {
4677
+ postScope: 'any' | 'specific';
4678
+ platformPostId: string | unknown;
4679
+ postPermalink: string | unknown;
4680
+ postId: string | unknown;
4681
+ keywords: Array<string>;
4682
+ matchMode: 'exact' | 'contains' | 'word';
4683
+ excludeKeywords: Array<string>;
4684
+ };
4685
+ actions: {
4686
+ publicReplies: Array<string>;
4687
+ dmMessage: string;
4688
+ };
4689
+ stats: {
4690
+ triggered: number;
4691
+ succeeded: number;
4692
+ failed: number;
4693
+ lastRunAt: string | unknown;
4694
+ lastError: string | unknown;
4695
+ };
4696
+ createdAt: string;
4697
+ updatedAt: string;
4698
+ }>;
4699
+ };
4700
+ };
4701
+ type GetV1CommentAutomationsResponse = GetV1CommentAutomationsResponses[keyof GetV1CommentAutomationsResponses];
4702
+ type PostV1CommentAutomationsData = {
4703
+ body: {
4704
+ accountId: string;
4705
+ name: string;
4706
+ status?: 'active' | 'paused';
4707
+ postScope: 'any' | 'specific';
4708
+ platformPostId?: string;
4709
+ postPermalink?: string;
4710
+ keywords: Array<string>;
4711
+ matchMode?: 'exact' | 'contains' | 'word';
4712
+ excludeKeywords?: Array<string>;
4713
+ publicReplies: Array<string>;
4714
+ dmMessage: string;
4715
+ };
4716
+ path?: never;
4717
+ query?: never;
4718
+ url: '/v1/comment-automations/';
4719
+ };
4720
+ type PostV1CommentAutomationsErrors = {
4721
+ /**
4722
+ * Default Response
4723
+ */
4724
+ 400: {
4725
+ success: boolean;
4726
+ message: string;
4727
+ };
4728
+ /**
4729
+ * Default Response
4730
+ */
4731
+ 404: {
4732
+ success: boolean;
4733
+ message: string;
4734
+ };
4735
+ /**
4736
+ * Default Response
4737
+ */
4738
+ 424: {
4739
+ success: boolean;
4740
+ message: string;
4741
+ };
4742
+ };
4743
+ type PostV1CommentAutomationsError = PostV1CommentAutomationsErrors[keyof PostV1CommentAutomationsErrors];
4744
+ type PostV1CommentAutomationsResponses = {
4745
+ /**
4746
+ * Default Response
4747
+ */
4748
+ 201: {
4749
+ success: boolean;
4750
+ automation: {
4751
+ id: string;
4752
+ accountId: string;
4753
+ platform: string;
4754
+ name: string;
4755
+ status: 'active' | 'paused';
4756
+ trigger: {
4757
+ postScope: 'any' | 'specific';
4758
+ platformPostId: string | unknown;
4759
+ postPermalink: string | unknown;
4760
+ postId: string | unknown;
4761
+ keywords: Array<string>;
4762
+ matchMode: 'exact' | 'contains' | 'word';
4763
+ excludeKeywords: Array<string>;
4764
+ };
4765
+ actions: {
4766
+ publicReplies: Array<string>;
4767
+ dmMessage: string;
4768
+ };
4769
+ stats: {
4770
+ triggered: number;
4771
+ succeeded: number;
4772
+ failed: number;
4773
+ lastRunAt: string | unknown;
4774
+ lastError: string | unknown;
4775
+ };
4776
+ createdAt: string;
4777
+ updatedAt: string;
4778
+ };
4779
+ };
4780
+ };
4781
+ type PostV1CommentAutomationsResponse = PostV1CommentAutomationsResponses[keyof PostV1CommentAutomationsResponses];
4782
+ type GetV1CommentAutomationsPostsData = {
4783
+ body?: never;
4784
+ path?: never;
4785
+ query: {
4786
+ accountId: string;
4787
+ after?: string;
4788
+ };
4789
+ url: '/v1/comment-automations/posts';
3772
4790
  };
3773
- type PostV1MessagesErrors = {
4791
+ type GetV1CommentAutomationsPostsErrors = {
3774
4792
  /**
3775
4793
  * Default Response
3776
4794
  */
@@ -3793,40 +4811,34 @@ type PostV1MessagesErrors = {
3793
4811
  message: string;
3794
4812
  };
3795
4813
  };
3796
- type PostV1MessagesError = PostV1MessagesErrors[keyof PostV1MessagesErrors];
3797
- type PostV1MessagesResponses = {
4814
+ type GetV1CommentAutomationsPostsError = GetV1CommentAutomationsPostsErrors[keyof GetV1CommentAutomationsPostsErrors];
4815
+ type GetV1CommentAutomationsPostsResponses = {
3798
4816
  /**
3799
4817
  * Default Response
3800
4818
  */
3801
4819
  200: {
3802
4820
  success: boolean;
3803
- /**
3804
- * ID of the sent message.
3805
- */
3806
- messageId: string;
4821
+ nextCursor: string | unknown;
4822
+ posts: Array<{
4823
+ id: string;
4824
+ caption: string | unknown;
4825
+ mediaType: string | unknown;
4826
+ permalink: string | unknown;
4827
+ previewUrl: string | unknown;
4828
+ timestamp: string | unknown;
4829
+ }>;
3807
4830
  };
3808
4831
  };
3809
- type PostV1MessagesResponse = PostV1MessagesResponses[keyof PostV1MessagesResponses];
3810
- type GetV1MessagesByConversationIdData = {
4832
+ type GetV1CommentAutomationsPostsResponse = GetV1CommentAutomationsPostsResponses[keyof GetV1CommentAutomationsPostsResponses];
4833
+ type DeleteV1CommentAutomationsByIdData = {
3811
4834
  body?: never;
3812
4835
  path: {
3813
- /**
3814
- * Platform conversation ID.
3815
- */
3816
- conversationId: string;
3817
- };
3818
- query: {
3819
- platform: 'instagram';
3820
- /**
3821
- * Integration ID.
3822
- */
3823
- accountId: string;
3824
- limit?: number;
3825
- after?: string;
4836
+ id: string;
3826
4837
  };
3827
- url: '/v1/messages/{conversationId}';
4838
+ query?: never;
4839
+ url: '/v1/comment-automations/{id}';
3828
4840
  };
3829
- type GetV1MessagesByConversationIdErrors = {
4841
+ type DeleteV1CommentAutomationsByIdErrors = {
3830
4842
  /**
3831
4843
  * Default Response
3832
4844
  */
@@ -3841,37 +4853,148 @@ type GetV1MessagesByConversationIdErrors = {
3841
4853
  success: boolean;
3842
4854
  message: string;
3843
4855
  };
4856
+ };
4857
+ type DeleteV1CommentAutomationsByIdError = DeleteV1CommentAutomationsByIdErrors[keyof DeleteV1CommentAutomationsByIdErrors];
4858
+ type DeleteV1CommentAutomationsByIdResponses = {
3844
4859
  /**
3845
4860
  * Default Response
3846
4861
  */
3847
- 502: {
4862
+ 200: {
4863
+ success?: boolean;
4864
+ };
4865
+ };
4866
+ type DeleteV1CommentAutomationsByIdResponse = DeleteV1CommentAutomationsByIdResponses[keyof DeleteV1CommentAutomationsByIdResponses];
4867
+ type PatchV1CommentAutomationsByIdData = {
4868
+ body: {
4869
+ name?: string;
4870
+ status?: 'active' | 'paused';
4871
+ postScope?: 'any' | 'specific';
4872
+ platformPostId?: string;
4873
+ postPermalink?: string;
4874
+ keywords?: Array<string>;
4875
+ matchMode?: 'exact' | 'contains' | 'word';
4876
+ excludeKeywords?: Array<string>;
4877
+ publicReplies?: Array<string>;
4878
+ dmMessage?: string;
4879
+ };
4880
+ path: {
4881
+ id: string;
4882
+ };
4883
+ query?: never;
4884
+ url: '/v1/comment-automations/{id}';
4885
+ };
4886
+ type PatchV1CommentAutomationsByIdErrors = {
4887
+ /**
4888
+ * Default Response
4889
+ */
4890
+ 400: {
4891
+ success: boolean;
4892
+ message: string;
4893
+ };
4894
+ /**
4895
+ * Default Response
4896
+ */
4897
+ 404: {
3848
4898
  success: boolean;
3849
4899
  message: string;
3850
4900
  };
3851
4901
  };
3852
- type GetV1MessagesByConversationIdError = GetV1MessagesByConversationIdErrors[keyof GetV1MessagesByConversationIdErrors];
3853
- type GetV1MessagesByConversationIdResponses = {
4902
+ type PatchV1CommentAutomationsByIdError = PatchV1CommentAutomationsByIdErrors[keyof PatchV1CommentAutomationsByIdErrors];
4903
+ type PatchV1CommentAutomationsByIdResponses = {
3854
4904
  /**
3855
4905
  * Default Response
3856
4906
  */
3857
4907
  200: {
3858
4908
  success: boolean;
3859
- messages: Array<{
3860
- /**
3861
- * Platform message ID
3862
- */
4909
+ automation: {
3863
4910
  id: string;
3864
- text: string | null;
3865
- from: {
3866
- id: string | null;
3867
- name: string | null;
4911
+ accountId: string;
4912
+ platform: string;
4913
+ name: string;
4914
+ status: 'active' | 'paused';
4915
+ trigger: {
4916
+ postScope: 'any' | 'specific';
4917
+ platformPostId: string | unknown;
4918
+ postPermalink: string | unknown;
4919
+ postId: string | unknown;
4920
+ keywords: Array<string>;
4921
+ matchMode: 'exact' | 'contains' | 'word';
4922
+ excludeKeywords: Array<string>;
3868
4923
  };
3869
- timestamp: string | null;
4924
+ actions: {
4925
+ publicReplies: Array<string>;
4926
+ dmMessage: string;
4927
+ };
4928
+ stats: {
4929
+ triggered: number;
4930
+ succeeded: number;
4931
+ failed: number;
4932
+ lastRunAt: string | unknown;
4933
+ lastError: string | unknown;
4934
+ };
4935
+ createdAt: string;
4936
+ updatedAt: string;
4937
+ };
4938
+ };
4939
+ };
4940
+ type PatchV1CommentAutomationsByIdResponse = PatchV1CommentAutomationsByIdResponses[keyof PatchV1CommentAutomationsByIdResponses];
4941
+ type GetV1CommentAutomationsByIdLogsData = {
4942
+ body?: never;
4943
+ path: {
4944
+ id: string;
4945
+ };
4946
+ query?: {
4947
+ status?: 'running' | 'succeeded' | 'succeeded_with_warnings' | 'failed';
4948
+ limit?: number;
4949
+ skip?: number;
4950
+ };
4951
+ url: '/v1/comment-automations/{id}/logs';
4952
+ };
4953
+ type GetV1CommentAutomationsByIdLogsErrors = {
4954
+ /**
4955
+ * Default Response
4956
+ */
4957
+ 400: {
4958
+ success: boolean;
4959
+ message: string;
4960
+ };
4961
+ /**
4962
+ * Default Response
4963
+ */
4964
+ 404: {
4965
+ success: boolean;
4966
+ message: string;
4967
+ };
4968
+ };
4969
+ type GetV1CommentAutomationsByIdLogsError = GetV1CommentAutomationsByIdLogsErrors[keyof GetV1CommentAutomationsByIdLogsErrors];
4970
+ type GetV1CommentAutomationsByIdLogsResponses = {
4971
+ /**
4972
+ * Default Response
4973
+ */
4974
+ 200: {
4975
+ success: boolean;
4976
+ logs: Array<{
4977
+ id: string;
4978
+ commentId: string;
4979
+ commenterId: string;
4980
+ commenterName: string | unknown;
4981
+ commentText: string;
4982
+ platformPostId: string;
4983
+ status: 'running' | 'succeeded' | 'succeeded_with_warnings' | 'failed';
4984
+ privateReplySent: boolean;
4985
+ publicReplyStatus: 'sent' | 'failed' | 'skipped';
4986
+ error: string | unknown;
4987
+ createdAt: string;
3870
4988
  }>;
3871
- nextCursor: string | null;
4989
+ pagination: {
4990
+ total: number;
4991
+ limit: number;
4992
+ skip: number;
4993
+ hasMore: boolean;
4994
+ };
3872
4995
  };
3873
4996
  };
3874
- type GetV1MessagesByConversationIdResponse = GetV1MessagesByConversationIdResponses[keyof GetV1MessagesByConversationIdResponses];
4997
+ type GetV1CommentAutomationsByIdLogsResponse = GetV1CommentAutomationsByIdLogsResponses[keyof GetV1CommentAutomationsByIdLogsResponses];
3875
4998
  type GetV1UsageData = {
3876
4999
  body?: never;
3877
5000
  path?: never;
@@ -3935,9 +5058,13 @@ type GetV1UsageResponses = {
3935
5058
  */
3936
5059
  month: number;
3937
5060
  /**
3938
- * Credits used this month
5061
+ * Subscription (monthly plan) credits used this month
3939
5062
  */
3940
5063
  count: number;
5064
+ /**
5065
+ * One-time / credit-pack credits used this month
5066
+ */
5067
+ purchasedCount: number;
3941
5068
  /**
3942
5069
  * Credits broken down by platform name
3943
5070
  */
@@ -4100,6 +5227,58 @@ type GetV1TiktokCreatorInfoResponses = {
4100
5227
  };
4101
5228
  };
4102
5229
  type GetV1TiktokCreatorInfoResponse = GetV1TiktokCreatorInfoResponses[keyof GetV1TiktokCreatorInfoResponses];
5230
+ type GetV1LinkedinOrganizationLookupData = {
5231
+ body?: never;
5232
+ path?: never;
5233
+ query: {
5234
+ /**
5235
+ * LinkedIn company URL or vanity name, for example https://www.linkedin.com/company/linkedin or linkedin.
5236
+ */
5237
+ company: string;
5238
+ /**
5239
+ * Integration ID of the LinkedIn account used to authorize the lookup. If omitted, uses the first connected LinkedIn account.
5240
+ */
5241
+ accountId?: string;
5242
+ };
5243
+ url: '/v1/linkedin/organization-lookup';
5244
+ };
5245
+ type GetV1LinkedinOrganizationLookupErrors = {
5246
+ /**
5247
+ * Default Response
5248
+ */
5249
+ 400: {
5250
+ error: string;
5251
+ };
5252
+ /**
5253
+ * Default Response
5254
+ */
5255
+ 404: {
5256
+ error: string;
5257
+ };
5258
+ /**
5259
+ * Default Response
5260
+ */
5261
+ 502: {
5262
+ error: string;
5263
+ };
5264
+ };
5265
+ type GetV1LinkedinOrganizationLookupError = GetV1LinkedinOrganizationLookupErrors[keyof GetV1LinkedinOrganizationLookupErrors];
5266
+ type GetV1LinkedinOrganizationLookupResponses = {
5267
+ /**
5268
+ * Default Response
5269
+ */
5270
+ 200: {
5271
+ success: true;
5272
+ organization: {
5273
+ id: string;
5274
+ name: string | unknown;
5275
+ vanityName: string;
5276
+ urn: string;
5277
+ url: string;
5278
+ };
5279
+ };
5280
+ };
5281
+ type GetV1LinkedinOrganizationLookupResponse = GetV1LinkedinOrganizationLookupResponses[keyof GetV1LinkedinOrganizationLookupResponses];
4103
5282
  type PostV1AiWriteData = {
4104
5283
  body: {
4105
5284
  /**
@@ -4297,6 +5476,12 @@ declare class Integrations extends HeyApiClient {
4297
5476
  * Returns one integration, including its recorded OAuth scopes and token expiry metadata. OAuth tokens are never returned.
4298
5477
  */
4299
5478
  get<ThrowOnError extends boolean = false>(options: Options<GetV1ConnectIntegrationsByIdData, ThrowOnError>): RequestResult<GetV1ConnectIntegrationsByIdResponses, GetV1ConnectIntegrationsByIdErrors, ThrowOnError>;
5479
+ /**
5480
+ * Move an integration to another profile
5481
+ *
5482
+ * Reassigns an existing integration to another profile in the same project. Pass profileId=null to leave the integration unassigned. OAuth credentials and existing posts are unchanged.
5483
+ */
5484
+ move<ThrowOnError extends boolean = false>(options: Options<PatchV1ConnectIntegrationsByIdData, ThrowOnError>): RequestResult<PatchV1ConnectIntegrationsByIdResponses, PatchV1ConnectIntegrationsByIdErrors, ThrowOnError>;
4300
5485
  }
4301
5486
  declare class Connect extends HeyApiClient {
4302
5487
  /**
@@ -4332,7 +5517,7 @@ declare class Profiles extends HeyApiClient {
4332
5517
  /**
4333
5518
  * Delete a profile
4334
5519
  *
4335
- * Soft-deletes the profile. Existing integrations bound to it keep their profileId — they are not orphaned, but listing /v1/profiles will no longer surface this row.
5520
+ * Soft-deletes an empty profile. Move or disconnect active integrations before deleting their profile.
4336
5521
  */
4337
5522
  delete<ThrowOnError extends boolean = false>(options: Options<DeleteV1ProfilesByIdData, ThrowOnError>): RequestResult<DeleteV1ProfilesByIdResponses, DeleteV1ProfilesByIdErrors, ThrowOnError>;
4338
5523
  /**
@@ -4383,6 +5568,8 @@ declare class Notifications extends HeyApiClient {
4383
5568
  list<ThrowOnError extends boolean = false>(options?: Options<GetV1NotificationsData, ThrowOnError>): RequestResult<GetV1NotificationsResponses, unknown, ThrowOnError>;
4384
5569
  /**
4385
5570
  * Create a notification subscription
5571
+ *
5572
+ * Create an email or webhook subscription. See the [webhook guide](/docs/webhooks) for request headers, payload fields, and signature verification.
4386
5573
  */
4387
5574
  create<ThrowOnError extends boolean = false>(options: Options<PostV1NotificationsData, ThrowOnError>): RequestResult<PostV1NotificationsResponses, PostV1NotificationsErrors, ThrowOnError>;
4388
5575
  /**
@@ -4422,7 +5609,9 @@ declare class Scheduled extends HeyApiClient {
4422
5609
  /**
4423
5610
  * Edit a scheduled post (content, media, platforms, time)
4424
5611
  *
4425
- * Replaces the editable fields of a scheduled post: text content, media attachments, target platforms + platform-specific data, and optionally the scheduled time/timezone. Re-validates each platform and reconciles the credit difference. Only works while the post is still scheduled.
5612
+ * Deprecated: use PUT /v1/posts/:postId. Replaces the editable fields of a scheduled post and reconciles credits.
5613
+ *
5614
+ * @deprecated
4426
5615
  */
4427
5616
  edit<ThrowOnError extends boolean = false>(options: Options<PutV1PostsScheduledByPostIdData, ThrowOnError>): RequestResult<PutV1PostsScheduledByPostIdResponses, PutV1PostsScheduledByPostIdErrors, ThrowOnError>;
4428
5617
  }
@@ -4434,9 +5623,17 @@ declare class Posts extends HeyApiClient {
4434
5623
  */
4435
5624
  list<ThrowOnError extends boolean = false>(options?: Options<GetV1PostsData, ThrowOnError>): RequestResult<GetV1PostsResponses, GetV1PostsErrors, ThrowOnError>;
4436
5625
  /**
4437
- * Publish a post to one or more social media platforms
5626
+ * Create, publish, or schedule a post
5627
+ *
5628
+ * Set saveAsDraft=true to save without accounts or credits, publishNow=true to publish immediately, or provide scheduledFor to schedule it.
4438
5629
  */
4439
5630
  create<ThrowOnError extends boolean = false>(options: Options<PostV1PostsData, ThrowOnError>): RequestResult<PostV1PostsResponses, PostV1PostsErrors, ThrowOnError>;
5631
+ /**
5632
+ * Retry the failed platforms of a post
5633
+ *
5634
+ * Re-publish only the platform targets that failed on a post. Omit scheduledFor to retry immediately, or pass scheduledFor (ISO 8601) to schedule the retry. Retried platforms are charged credits (they were refunded when they failed) and refunded again if they fail. Already-published platforms are never re-posted.
5635
+ */
5636
+ retry<ThrowOnError extends boolean = false>(options: Options<PostV1PostsByPostIdRetryData, ThrowOnError>): RequestResult<PostV1PostsByPostIdRetryResponses, PostV1PostsByPostIdRetryErrors, ThrowOnError>;
4440
5637
  /**
4441
5638
  * Delete a post by ID
4442
5639
  */
@@ -4445,6 +5642,18 @@ declare class Posts extends HeyApiClient {
4445
5642
  * Get a single post by ID
4446
5643
  */
4447
5644
  get<ThrowOnError extends boolean = false>(options: Options<GetV1PostsByPostIdData, ThrowOnError>): RequestResult<GetV1PostsByPostIdResponses, GetV1PostsByPostIdErrors, ThrowOnError>;
5645
+ /**
5646
+ * Edit a draft or scheduled post
5647
+ *
5648
+ * Replaces an editable post. Drafts remain drafts with saveAsDraft=true, publish immediately with publishNow=true, or become scheduled with scheduledFor. Scheduled posts keep their schedule.
5649
+ */
5650
+ edit<ThrowOnError extends boolean = false>(options: Options<PutV1PostsByPostIdData, ThrowOnError>): RequestResult<PutV1PostsByPostIdResponses, PutV1PostsByPostIdErrors, ThrowOnError>;
5651
+ /**
5652
+ * Sync recent posts published outside PostPeer
5653
+ *
5654
+ * Fetches at most the 50 most recent posts from one connected account and stores posts published outside PostPeer. Existing PostPeer posts are updated instead of duplicated. Provide url or postId to verify one post. Requests are debounced per account for 15 seconds. Supported accounts: Twitter, YouTube, Pinterest, LinkedIn organization pages, TikTok, Facebook, Instagram, Threads, and Google Business.
5655
+ */
5656
+ syncExternal<ThrowOnError extends boolean = false>(options: Options<PostV1PostsSyncExternalData, ThrowOnError>): RequestResult<PostV1PostsSyncExternalResponses, PostV1PostsSyncExternalErrors, ThrowOnError>;
4448
5657
  private _scheduled?;
4449
5658
  get scheduled(): Scheduled;
4450
5659
  }
@@ -4454,6 +5663,26 @@ declare class Media extends HeyApiClient {
4454
5663
  */
4455
5664
  upload<ThrowOnError extends boolean = false>(options: Options<PostV1MediaUploadData, ThrowOnError>): RequestResult<PostV1MediaUploadResponses, PostV1MediaUploadErrors, ThrowOnError>;
4456
5665
  }
5666
+ declare class Instagram extends HeyApiClient {
5667
+ /**
5668
+ * Get Instagram follower count
5669
+ *
5670
+ * Returns the connected Instagram professional account's live follower count. Historical growth requires daily snapshots and is not included. Each successful call costs 1 credit.
5671
+ */
5672
+ getFollowerStats<ThrowOnError extends boolean = false>(options: Options<GetV1AnalyticsInstagramFollowerStatsData, ThrowOnError>): RequestResult<GetV1AnalyticsInstagramFollowerStatsResponses, GetV1AnalyticsInstagramFollowerStatsErrors, ThrowOnError>;
5673
+ /**
5674
+ * Get Instagram account insights
5675
+ *
5676
+ * Returns account-wide Instagram insights across feed, stories, explore, and profile activity. The date range defaults to the last 30 days and cannot exceed 90 days. Only reach supports daily time-series output. Missing Meta metrics are omitted rather than reported as zero. Each successful call costs 1 credit.
5677
+ */
5678
+ getAccountInsights<ThrowOnError extends boolean = false>(options: Options<GetV1AnalyticsInstagramAccountInsightsData, ThrowOnError>): RequestResult<GetV1AnalyticsInstagramAccountInsightsResponses, GetV1AnalyticsInstagramAccountInsightsErrors, ThrowOnError>;
5679
+ /**
5680
+ * Get Instagram demographics
5681
+ *
5682
+ * Returns Instagram follower, engaged-audience, or reached-audience demographics by age, city, country, and/or gender. Meta returns at most 45 entries per dimension, requires a sufficient audience, and may delay data by up to 48 hours. Each call costs 1 credit.
5683
+ */
5684
+ getDemographics<ThrowOnError extends boolean = false>(options: Options<GetV1AnalyticsInstagramDemographicsData, ThrowOnError>): RequestResult<GetV1AnalyticsInstagramDemographicsResponses, GetV1AnalyticsInstagramDemographicsErrors, ThrowOnError>;
5685
+ }
4457
5686
  declare class Analytics extends HeyApiClient {
4458
5687
  /**
4459
5688
  * Get post analytics
@@ -4461,6 +5690,68 @@ declare class Analytics extends HeyApiClient {
4461
5690
  * With postId, returns analytics for a single post. Without postId, returns a paginated list of published posts with analytics. Accepts both PostPeer post IDs and external platform post IDs (auto-resolved). fromDate defaults to 90 days ago if omitted, max range 366 days. Each call costs 1 credit.
4462
5691
  */
4463
5692
  get<ThrowOnError extends boolean = false>(options?: Options<GetV1AnalyticsData, ThrowOnError>): RequestResult<GetV1AnalyticsResponses, GetV1AnalyticsErrors, ThrowOnError>;
5693
+ private _instagram?;
5694
+ get instagram(): Instagram;
5695
+ }
5696
+ declare class Comments extends HeyApiClient {
5697
+ /**
5698
+ * List comments on a post
5699
+ *
5700
+ * Fetch comments (and first-level replies) on a post from a connected Facebook Page, Instagram Business account, Threads account, or LinkedIn account. Requires the account to have the relevant permissions approved (pages_read_user_content for Facebook, instagram_business_manage_comments for Instagram, threads_manage_replies for Threads, Community Management social-feed scopes for LinkedIn).
5701
+ */
5702
+ list<ThrowOnError extends boolean = false>(options: Options<GetV1CommentsData, ThrowOnError>): RequestResult<GetV1CommentsResponses, GetV1CommentsErrors, ThrowOnError>;
5703
+ /**
5704
+ * Create a comment or reply
5705
+ *
5706
+ * Post a top-level comment on an Instagram, Facebook, or LinkedIn post, or a top-level post on Threads (provide `postId`), or reply to an existing comment on Facebook, Instagram, Threads, or LinkedIn (provide `commentId`).
5707
+ */
5708
+ create<ThrowOnError extends boolean = false>(options: Options<PostV1CommentsData, ThrowOnError>): RequestResult<PostV1CommentsResponses, PostV1CommentsErrors, ThrowOnError>;
5709
+ /**
5710
+ * Delete a comment
5711
+ *
5712
+ * Delete a comment on a Facebook Page post, Instagram Business post, or LinkedIn post. Not supported on Threads (the API does not allow deleting others' replies).
5713
+ */
5714
+ delete<ThrowOnError extends boolean = false>(options: Options<DeleteV1CommentsByCommentIdData, ThrowOnError>): RequestResult<DeleteV1CommentsByCommentIdResponses, DeleteV1CommentsByCommentIdErrors, ThrowOnError>;
5715
+ /**
5716
+ * Hide or unhide a comment
5717
+ *
5718
+ * Hide or unhide a comment on an Instagram Business post. Pass `hidden: true` to hide, `hidden: false` to unhide. Instagram only.
5719
+ */
5720
+ hide<ThrowOnError extends boolean = false>(options: Options<PatchV1CommentsByCommentIdData, ThrowOnError>): RequestResult<PatchV1CommentsByCommentIdResponses, PatchV1CommentsByCommentIdErrors, ThrowOnError>;
5721
+ }
5722
+ declare class Messages extends HeyApiClient {
5723
+ /**
5724
+ * List conversations
5725
+ *
5726
+ * List DM conversations for a connected Instagram Business account. Requires instagram_business_manage_messages.
5727
+ */
5728
+ listConversations<ThrowOnError extends boolean = false>(options: Options<GetV1MessagesData, ThrowOnError>): RequestResult<GetV1MessagesResponses, GetV1MessagesErrors, ThrowOnError>;
5729
+ /**
5730
+ * Send a message
5731
+ *
5732
+ * Send a DM reply on Instagram.
5733
+ */
5734
+ send<ThrowOnError extends boolean = false>(options: Options<PostV1MessagesData, ThrowOnError>): RequestResult<PostV1MessagesResponses, PostV1MessagesErrors, ThrowOnError>;
5735
+ /**
5736
+ * Get messages in a conversation
5737
+ */
5738
+ getConversation<ThrowOnError extends boolean = false>(options: Options<GetV1MessagesByConversationIdData, ThrowOnError>): RequestResult<GetV1MessagesByConversationIdResponses, GetV1MessagesByConversationIdErrors, ThrowOnError>;
5739
+ }
5740
+ declare class Posts2 extends HeyApiClient {
5741
+ list<ThrowOnError extends boolean = false>(options: Options<GetV1CommentAutomationsPostsData, ThrowOnError>): RequestResult<GetV1CommentAutomationsPostsResponses, GetV1CommentAutomationsPostsErrors, ThrowOnError>;
5742
+ }
5743
+ declare class Logs extends HeyApiClient {
5744
+ list<ThrowOnError extends boolean = false>(options: Options<GetV1CommentAutomationsByIdLogsData, ThrowOnError>): RequestResult<GetV1CommentAutomationsByIdLogsResponses, GetV1CommentAutomationsByIdLogsErrors, ThrowOnError>;
5745
+ }
5746
+ declare class CommentAutomations extends HeyApiClient {
5747
+ list<ThrowOnError extends boolean = false>(options?: Options<GetV1CommentAutomationsData, ThrowOnError>): RequestResult<GetV1CommentAutomationsResponses, GetV1CommentAutomationsErrors, ThrowOnError>;
5748
+ create<ThrowOnError extends boolean = false>(options: Options<PostV1CommentAutomationsData, ThrowOnError>): RequestResult<PostV1CommentAutomationsResponses, PostV1CommentAutomationsErrors, ThrowOnError>;
5749
+ delete<ThrowOnError extends boolean = false>(options: Options<DeleteV1CommentAutomationsByIdData, ThrowOnError>): RequestResult<DeleteV1CommentAutomationsByIdResponses, DeleteV1CommentAutomationsByIdErrors, ThrowOnError>;
5750
+ update<ThrowOnError extends boolean = false>(options: Options<PatchV1CommentAutomationsByIdData, ThrowOnError>): RequestResult<PatchV1CommentAutomationsByIdResponses, PatchV1CommentAutomationsByIdErrors, ThrowOnError>;
5751
+ private _posts?;
5752
+ get posts(): Posts2;
5753
+ private _logs?;
5754
+ get logs(): Logs;
4464
5755
  }
4465
5756
  declare class Usage extends HeyApiClient {
4466
5757
  /**
@@ -4484,6 +5775,12 @@ declare class Tiktok extends HeyApiClient {
4484
5775
  */
4485
5776
  getCreatorInfo<ThrowOnError extends boolean = false>(options?: Options<GetV1TiktokCreatorInfoData, ThrowOnError>): RequestResult<GetV1TiktokCreatorInfoResponses, GetV1TiktokCreatorInfoErrors, ThrowOnError>;
4486
5777
  }
5778
+ declare class Linkedin2 extends HeyApiClient {
5779
+ /**
5780
+ * Find a LinkedIn organization ID and URN by company URL or slug
5781
+ */
5782
+ lookupOrganization<ThrowOnError extends boolean = false>(options: Options<GetV1LinkedinOrganizationLookupData, ThrowOnError>): RequestResult<GetV1LinkedinOrganizationLookupResponses, GetV1LinkedinOrganizationLookupErrors, ThrowOnError>;
5783
+ }
4487
5784
  declare class Ai extends HeyApiClient {
4488
5785
  /**
4489
5786
  * Generate a social media caption from a description
@@ -4504,52 +5801,6 @@ declare class PostPeer$1 extends HeyApiClient {
4504
5801
  client?: Client;
4505
5802
  key?: string;
4506
5803
  });
4507
- /**
4508
- * Move an integration to another profile
4509
- *
4510
- * Reassigns an existing integration to another profile in the same project. Pass profileId=null to leave the integration unassigned. OAuth credentials and existing posts are unchanged.
4511
- */
4512
- moveIntegration<ThrowOnError extends boolean = false>(options: Options<PatchV1ConnectIntegrationsByIdData, ThrowOnError>): RequestResult<PatchV1ConnectIntegrationsByIdResponses, PatchV1ConnectIntegrationsByIdErrors, ThrowOnError>;
4513
- /**
4514
- * List comments on a post
4515
- *
4516
- * Fetch comments (and first-level replies) on a post from a connected Facebook Page, Instagram Business account, or Threads account. Requires the account to have the relevant Meta permissions approved (pages_read_user_content for Facebook, instagram_business_manage_comments for Instagram, threads_manage_replies for Threads).
4517
- */
4518
- listComments<ThrowOnError extends boolean = false>(options: Options<GetV1CommentsData, ThrowOnError>): RequestResult<GetV1CommentsResponses, GetV1CommentsErrors, ThrowOnError>;
4519
- /**
4520
- * Create a comment or reply
4521
- *
4522
- * Post a top-level comment on an Instagram or Facebook post, or a top-level post on Threads (provide `postId`), or reply to an existing comment on Facebook, Instagram, or Threads (provide `commentId`).
4523
- */
4524
- createComment<ThrowOnError extends boolean = false>(options: Options<PostV1CommentsData, ThrowOnError>): RequestResult<PostV1CommentsResponses, PostV1CommentsErrors, ThrowOnError>;
4525
- /**
4526
- * Delete a comment
4527
- *
4528
- * Delete a comment on a Facebook Page post or Instagram Business post. Not supported on Threads (the API does not allow deleting others' replies).
4529
- */
4530
- deleteComment<ThrowOnError extends boolean = false>(options: Options<DeleteV1CommentsByCommentIdData, ThrowOnError>): RequestResult<DeleteV1CommentsByCommentIdResponses, DeleteV1CommentsByCommentIdErrors, ThrowOnError>;
4531
- /**
4532
- * Hide or unhide a comment
4533
- *
4534
- * Hide or unhide a comment on an Instagram Business post. Pass `hidden: true` to hide, `hidden: false` to unhide. Instagram only.
4535
- */
4536
- hideComment<ThrowOnError extends boolean = false>(options: Options<PatchV1CommentsByCommentIdData, ThrowOnError>): RequestResult<PatchV1CommentsByCommentIdResponses, PatchV1CommentsByCommentIdErrors, ThrowOnError>;
4537
- /**
4538
- * List conversations
4539
- *
4540
- * List DM conversations for a connected Instagram Business account. Requires instagram_business_manage_messages.
4541
- */
4542
- listConversations<ThrowOnError extends boolean = false>(options: Options<GetV1MessagesData, ThrowOnError>): RequestResult<GetV1MessagesResponses, GetV1MessagesErrors, ThrowOnError>;
4543
- /**
4544
- * Send a message
4545
- *
4546
- * Send a DM reply on Instagram.
4547
- */
4548
- sendMessage<ThrowOnError extends boolean = false>(options: Options<PostV1MessagesData, ThrowOnError>): RequestResult<PostV1MessagesResponses, PostV1MessagesErrors, ThrowOnError>;
4549
- /**
4550
- * Get messages in a conversation
4551
- */
4552
- getConversationMessages<ThrowOnError extends boolean = false>(options: Options<GetV1MessagesByConversationIdData, ThrowOnError>): RequestResult<GetV1MessagesByConversationIdResponses, GetV1MessagesByConversationIdErrors, ThrowOnError>;
4553
5804
  private _health?;
4554
5805
  get health(): Health;
4555
5806
  private _connect?;
@@ -4568,12 +5819,20 @@ declare class PostPeer$1 extends HeyApiClient {
4568
5819
  get media(): Media;
4569
5820
  private _analytics?;
4570
5821
  get analytics(): Analytics;
5822
+ private _comments?;
5823
+ get comments(): Comments;
5824
+ private _messages?;
5825
+ get messages(): Messages;
5826
+ private _commentAutomations?;
5827
+ get commentAutomations(): CommentAutomations;
4571
5828
  private _usage?;
4572
5829
  get usage(): Usage;
4573
5830
  private _pinterest?;
4574
5831
  get pinterest(): Pinterest;
4575
5832
  private _tiktok?;
4576
5833
  get tiktok(): Tiktok;
5834
+ private _linkedin?;
5835
+ get linkedin(): Linkedin2;
4577
5836
  private _ai?;
4578
5837
  get ai(): Ai;
4579
5838
  }
@@ -4647,6 +5906,6 @@ declare class APIUserAbortError extends APIConnectionError {
4647
5906
  constructor(options?: ErrorOptions);
4648
5907
  }
4649
5908
 
4650
- declare const VERSION = "0.8.5";
5909
+ declare const VERSION = "0.9.0";
4651
5910
 
4652
- export { APIConnectionError, APIConnectionTimeoutError, APIError, APIUserAbortError, AuthenticationError, BadRequestError, type BlueskyConfigurations, type ClientOptions, ConflictError, type DeleteV1AppsByIdData, type DeleteV1AppsByIdError, type DeleteV1AppsByIdErrors, type DeleteV1AppsByIdResponse, type DeleteV1AppsByIdResponses, type DeleteV1CommentsByCommentIdData, type DeleteV1CommentsByCommentIdError, type DeleteV1CommentsByCommentIdErrors, type DeleteV1CommentsByCommentIdResponse, type DeleteV1CommentsByCommentIdResponses, type DeleteV1ConnectIntegrationsByIdData, type DeleteV1ConnectIntegrationsByIdError, type DeleteV1ConnectIntegrationsByIdErrors, type DeleteV1ConnectIntegrationsByIdResponse, type DeleteV1ConnectIntegrationsByIdResponses, type DeleteV1NotificationsByIdData, type DeleteV1NotificationsByIdError, type DeleteV1NotificationsByIdErrors, type DeleteV1NotificationsByIdResponse, type DeleteV1NotificationsByIdResponses, type DeleteV1PostsByPostIdData, type DeleteV1PostsByPostIdError, type DeleteV1PostsByPostIdErrors, type DeleteV1PostsByPostIdResponse, type DeleteV1PostsByPostIdResponses, type DeleteV1PostsScheduledByPostIdData, type DeleteV1PostsScheduledByPostIdError, type DeleteV1PostsScheduledByPostIdErrors, type DeleteV1PostsScheduledByPostIdResponse, type DeleteV1PostsScheduledByPostIdResponses, type DeleteV1ProfilesByIdData, type DeleteV1ProfilesByIdError, type DeleteV1ProfilesByIdErrors, type DeleteV1ProfilesByIdResponse, type DeleteV1ProfilesByIdResponses, type ErrorResponse, type FacebookConfigurations, type GetV1AnalyticsData, type GetV1AnalyticsError, type GetV1AnalyticsErrors, type GetV1AnalyticsResponse, type GetV1AnalyticsResponses, type GetV1AppsByIdData, type GetV1AppsByIdError, type GetV1AppsByIdErrors, type GetV1AppsByIdResponse, type GetV1AppsByIdResponses, type GetV1AppsData, type GetV1AppsResponse, type GetV1AppsResponses, type GetV1CommentsData, type GetV1CommentsError, type GetV1CommentsErrors, type GetV1CommentsResponse, type GetV1CommentsResponses, type GetV1ConnectByPlatformData, type GetV1ConnectByPlatformError, type GetV1ConnectByPlatformErrors, type GetV1ConnectByPlatformResponse, type GetV1ConnectByPlatformResponses, type GetV1ConnectFacebookSelectionByTokenData, type GetV1ConnectFacebookSelectionByTokenError, type GetV1ConnectFacebookSelectionByTokenErrors, type GetV1ConnectFacebookSelectionByTokenResponse, type GetV1ConnectFacebookSelectionByTokenResponses, type GetV1ConnectIntegrationsByIdData, type GetV1ConnectIntegrationsByIdError, type GetV1ConnectIntegrationsByIdErrors, type GetV1ConnectIntegrationsByIdResponse, type GetV1ConnectIntegrationsByIdResponses, type GetV1ConnectIntegrationsData, type GetV1ConnectIntegrationsResponse, type GetV1ConnectIntegrationsResponses, type GetV1ConnectLinkedinSelectionByTokenData, type GetV1ConnectLinkedinSelectionByTokenError, type GetV1ConnectLinkedinSelectionByTokenErrors, type GetV1ConnectLinkedinSelectionByTokenResponse, type GetV1ConnectLinkedinSelectionByTokenResponses, type GetV1HealthAuthData, type GetV1HealthAuthResponse, type GetV1HealthAuthResponses, type GetV1HealthData, type GetV1HealthResponse, type GetV1HealthResponses, type GetV1MessagesByConversationIdData, type GetV1MessagesByConversationIdError, type GetV1MessagesByConversationIdErrors, type GetV1MessagesByConversationIdResponse, type GetV1MessagesByConversationIdResponses, type GetV1MessagesData, type GetV1MessagesError, type GetV1MessagesErrors, type GetV1MessagesResponse, type GetV1MessagesResponses, type GetV1NotificationsByIdData, type GetV1NotificationsByIdError, type GetV1NotificationsByIdErrors, type GetV1NotificationsByIdResponse, type GetV1NotificationsByIdResponses, type GetV1NotificationsData, type GetV1NotificationsResponse, type GetV1NotificationsResponses, type GetV1PinterestBoardsData, type GetV1PinterestBoardsError, type GetV1PinterestBoardsErrors, type GetV1PinterestBoardsResponse, type GetV1PinterestBoardsResponses, type GetV1PlatformsData, type GetV1PlatformsResponse, type GetV1PlatformsResponses, type GetV1PostsByPostIdData, type GetV1PostsByPostIdError, type GetV1PostsByPostIdErrors, type GetV1PostsByPostIdResponse, type GetV1PostsByPostIdResponses, type GetV1PostsData, type GetV1PostsError, type GetV1PostsErrors, type GetV1PostsResponse, type GetV1PostsResponses, type GetV1PostsScheduledData, type GetV1PostsScheduledResponse, type GetV1PostsScheduledResponses, type GetV1ProfilesByIdData, type GetV1ProfilesByIdError, type GetV1ProfilesByIdErrors, type GetV1ProfilesByIdResponse, type GetV1ProfilesByIdResponses, type GetV1ProfilesData, type GetV1ProfilesResponse, type GetV1ProfilesResponses, type GetV1TiktokCreatorInfoData, type GetV1TiktokCreatorInfoError, type GetV1TiktokCreatorInfoErrors, type GetV1TiktokCreatorInfoResponse, type GetV1TiktokCreatorInfoResponses, type GetV1UsageData, type GetV1UsageError, type GetV1UsageErrors, type GetV1UsageResponse, type GetV1UsageResponses, type GoogleBusinessConfigurations, type InstagramConfigurations, InternalServerError, type LinkedInConfigurations, type LinkedInMention, NotFoundError, type PatchV1AppsByIdData, type PatchV1AppsByIdError, type PatchV1AppsByIdErrors, type PatchV1AppsByIdResponse, type PatchV1AppsByIdResponses, type PatchV1CommentsByCommentIdData, type PatchV1CommentsByCommentIdError, type PatchV1CommentsByCommentIdErrors, type PatchV1CommentsByCommentIdResponse, type PatchV1CommentsByCommentIdResponses, type PatchV1ConnectIntegrationsByIdData, type PatchV1ConnectIntegrationsByIdError, type PatchV1ConnectIntegrationsByIdErrors, type PatchV1ConnectIntegrationsByIdResponse, type PatchV1ConnectIntegrationsByIdResponses, type PatchV1NotificationsByIdData, type PatchV1NotificationsByIdError, type PatchV1NotificationsByIdErrors, type PatchV1NotificationsByIdResponse, type PatchV1NotificationsByIdResponses, type PatchV1PostsScheduledByPostIdData, type PatchV1PostsScheduledByPostIdError, type PatchV1PostsScheduledByPostIdErrors, type PatchV1PostsScheduledByPostIdResponse, type PatchV1PostsScheduledByPostIdResponses, type PatchV1ProfilesByIdData, type PatchV1ProfilesByIdError, type PatchV1ProfilesByIdErrors, type PatchV1ProfilesByIdResponse, type PatchV1ProfilesByIdResponses, PermissionDeniedError, type PinterestConfigurations, type Platform, type PostPayload, PostPeer, PostPeerError, type PostV1AiImageData, type PostV1AiImageError, type PostV1AiImageErrors, type PostV1AiImageResponse, type PostV1AiImageResponses, type PostV1AiWriteData, type PostV1AiWriteError, type PostV1AiWriteErrors, type PostV1AiWriteResponse, type PostV1AiWriteResponses, type PostV1AppsData, type PostV1AppsError, type PostV1AppsErrors, type PostV1AppsResponse, type PostV1AppsResponses, type PostV1CommentsData, type PostV1CommentsError, type PostV1CommentsErrors, type PostV1CommentsResponse, type PostV1CommentsResponses, type PostV1ConnectBlueskyAuthData, type PostV1ConnectBlueskyAuthError, type PostV1ConnectBlueskyAuthErrors, type PostV1ConnectFacebookSelectionByTokenData, type PostV1ConnectFacebookSelectionByTokenError, type PostV1ConnectFacebookSelectionByTokenErrors, type PostV1ConnectFacebookSelectionByTokenResponse, type PostV1ConnectFacebookSelectionByTokenResponses, type PostV1ConnectLinkedinSelectionByTokenData, type PostV1ConnectLinkedinSelectionByTokenError, type PostV1ConnectLinkedinSelectionByTokenErrors, type PostV1ConnectLinkedinSelectionByTokenResponse, type PostV1ConnectLinkedinSelectionByTokenResponses, type PostV1MediaUploadData, type PostV1MediaUploadError, type PostV1MediaUploadErrors, type PostV1MediaUploadResponse, type PostV1MediaUploadResponses, type PostV1MessagesData, type PostV1MessagesError, type PostV1MessagesErrors, type PostV1MessagesResponse, type PostV1MessagesResponses, type PostV1NotificationsData, type PostV1NotificationsError, type PostV1NotificationsErrors, type PostV1NotificationsResponse, type PostV1NotificationsResponses, type PostV1NotificationsTestData, type PostV1NotificationsTestError, type PostV1NotificationsTestErrors, type PostV1NotificationsTestResponse, type PostV1NotificationsTestResponses, type PostV1PostsData, type PostV1PostsError, type PostV1PostsErrors, type PostV1PostsResponse, type PostV1PostsResponses, type PostV1ProfilesData, type PostV1ProfilesResponse, type PostV1ProfilesResponses, type PutV1PostsScheduledByPostIdData, type PutV1PostsScheduledByPostIdError, type PutV1PostsScheduledByPostIdErrors, type PutV1PostsScheduledByPostIdResponse, type PutV1PostsScheduledByPostIdResponses, RateLimitError, type SortOrder, type Status, type ThreadsConfigurations, type TikTokConfigurations, type TwitterConfigurations, UnprocessableEntityError, VERSION, type YouTubeConfigurations, PostPeer as default };
5911
+ export { APIConnectionError, APIConnectionTimeoutError, APIError, APIUserAbortError, AuthenticationError, BadRequestError, type BlueskyConfigurations, type ClientOptions, ConflictError, type CreatePostResponse, type DeleteV1AppsByIdData, type DeleteV1AppsByIdError, type DeleteV1AppsByIdErrors, type DeleteV1AppsByIdResponse, type DeleteV1AppsByIdResponses, type DeleteV1CommentAutomationsByIdData, type DeleteV1CommentAutomationsByIdError, type DeleteV1CommentAutomationsByIdErrors, type DeleteV1CommentAutomationsByIdResponse, type DeleteV1CommentAutomationsByIdResponses, type DeleteV1CommentsByCommentIdData, type DeleteV1CommentsByCommentIdError, type DeleteV1CommentsByCommentIdErrors, type DeleteV1CommentsByCommentIdResponse, type DeleteV1CommentsByCommentIdResponses, type DeleteV1ConnectIntegrationsByIdData, type DeleteV1ConnectIntegrationsByIdError, type DeleteV1ConnectIntegrationsByIdErrors, type DeleteV1ConnectIntegrationsByIdResponse, type DeleteV1ConnectIntegrationsByIdResponses, type DeleteV1NotificationsByIdData, type DeleteV1NotificationsByIdError, type DeleteV1NotificationsByIdErrors, type DeleteV1NotificationsByIdResponse, type DeleteV1NotificationsByIdResponses, type DeleteV1PostsByPostIdData, type DeleteV1PostsByPostIdError, type DeleteV1PostsByPostIdErrors, type DeleteV1PostsByPostIdResponse, type DeleteV1PostsByPostIdResponses, type DeleteV1PostsScheduledByPostIdData, type DeleteV1PostsScheduledByPostIdError, type DeleteV1PostsScheduledByPostIdErrors, type DeleteV1PostsScheduledByPostIdResponse, type DeleteV1PostsScheduledByPostIdResponses, type DeleteV1ProfilesByIdData, type DeleteV1ProfilesByIdError, type DeleteV1ProfilesByIdErrors, type DeleteV1ProfilesByIdResponse, type DeleteV1ProfilesByIdResponses, type ErrorResponse, type FacebookConfigurations, type GetV1AnalyticsData, type GetV1AnalyticsError, type GetV1AnalyticsErrors, type GetV1AnalyticsInstagramAccountInsightsData, type GetV1AnalyticsInstagramAccountInsightsError, type GetV1AnalyticsInstagramAccountInsightsErrors, type GetV1AnalyticsInstagramAccountInsightsResponse, type GetV1AnalyticsInstagramAccountInsightsResponses, type GetV1AnalyticsInstagramDemographicsData, type GetV1AnalyticsInstagramDemographicsError, type GetV1AnalyticsInstagramDemographicsErrors, type GetV1AnalyticsInstagramDemographicsResponse, type GetV1AnalyticsInstagramDemographicsResponses, type GetV1AnalyticsInstagramFollowerStatsData, type GetV1AnalyticsInstagramFollowerStatsError, type GetV1AnalyticsInstagramFollowerStatsErrors, type GetV1AnalyticsInstagramFollowerStatsResponse, type GetV1AnalyticsInstagramFollowerStatsResponses, type GetV1AnalyticsResponse, type GetV1AnalyticsResponses, type GetV1AppsByIdData, type GetV1AppsByIdError, type GetV1AppsByIdErrors, type GetV1AppsByIdResponse, type GetV1AppsByIdResponses, type GetV1AppsData, type GetV1AppsResponse, type GetV1AppsResponses, type GetV1CommentAutomationsByIdLogsData, type GetV1CommentAutomationsByIdLogsError, type GetV1CommentAutomationsByIdLogsErrors, type GetV1CommentAutomationsByIdLogsResponse, type GetV1CommentAutomationsByIdLogsResponses, type GetV1CommentAutomationsData, type GetV1CommentAutomationsError, type GetV1CommentAutomationsErrors, type GetV1CommentAutomationsPostsData, type GetV1CommentAutomationsPostsError, type GetV1CommentAutomationsPostsErrors, type GetV1CommentAutomationsPostsResponse, type GetV1CommentAutomationsPostsResponses, type GetV1CommentAutomationsResponse, type GetV1CommentAutomationsResponses, type GetV1CommentsData, type GetV1CommentsError, type GetV1CommentsErrors, type GetV1CommentsResponse, type GetV1CommentsResponses, type GetV1ConnectByPlatformData, type GetV1ConnectByPlatformError, type GetV1ConnectByPlatformErrors, type GetV1ConnectByPlatformResponse, type GetV1ConnectByPlatformResponses, type GetV1ConnectFacebookSelectionByTokenData, type GetV1ConnectFacebookSelectionByTokenError, type GetV1ConnectFacebookSelectionByTokenErrors, type GetV1ConnectFacebookSelectionByTokenResponse, type GetV1ConnectFacebookSelectionByTokenResponses, type GetV1ConnectIntegrationsByIdData, type GetV1ConnectIntegrationsByIdError, type GetV1ConnectIntegrationsByIdErrors, type GetV1ConnectIntegrationsByIdResponse, type GetV1ConnectIntegrationsByIdResponses, type GetV1ConnectIntegrationsData, type GetV1ConnectIntegrationsResponse, type GetV1ConnectIntegrationsResponses, type GetV1ConnectLinkedinSelectionByTokenData, type GetV1ConnectLinkedinSelectionByTokenError, type GetV1ConnectLinkedinSelectionByTokenErrors, type GetV1ConnectLinkedinSelectionByTokenResponse, type GetV1ConnectLinkedinSelectionByTokenResponses, type GetV1HealthAuthData, type GetV1HealthAuthResponse, type GetV1HealthAuthResponses, type GetV1HealthData, type GetV1HealthResponse, type GetV1HealthResponses, type GetV1LinkedinOrganizationLookupData, type GetV1LinkedinOrganizationLookupError, type GetV1LinkedinOrganizationLookupErrors, type GetV1LinkedinOrganizationLookupResponse, type GetV1LinkedinOrganizationLookupResponses, type GetV1MessagesByConversationIdData, type GetV1MessagesByConversationIdError, type GetV1MessagesByConversationIdErrors, type GetV1MessagesByConversationIdResponse, type GetV1MessagesByConversationIdResponses, type GetV1MessagesData, type GetV1MessagesError, type GetV1MessagesErrors, type GetV1MessagesResponse, type GetV1MessagesResponses, type GetV1NotificationsByIdData, type GetV1NotificationsByIdError, type GetV1NotificationsByIdErrors, type GetV1NotificationsByIdResponse, type GetV1NotificationsByIdResponses, type GetV1NotificationsData, type GetV1NotificationsResponse, type GetV1NotificationsResponses, type GetV1PinterestBoardsData, type GetV1PinterestBoardsError, type GetV1PinterestBoardsErrors, type GetV1PinterestBoardsResponse, type GetV1PinterestBoardsResponses, type GetV1PlatformsData, type GetV1PlatformsResponse, type GetV1PlatformsResponses, type GetV1PostsByPostIdData, type GetV1PostsByPostIdError, type GetV1PostsByPostIdErrors, type GetV1PostsByPostIdResponse, type GetV1PostsByPostIdResponses, type GetV1PostsData, type GetV1PostsError, type GetV1PostsErrors, type GetV1PostsResponse, type GetV1PostsResponses, type GetV1PostsScheduledData, type GetV1PostsScheduledResponse, type GetV1PostsScheduledResponses, type GetV1ProfilesByIdData, type GetV1ProfilesByIdError, type GetV1ProfilesByIdErrors, type GetV1ProfilesByIdResponse, type GetV1ProfilesByIdResponses, type GetV1ProfilesData, type GetV1ProfilesResponse, type GetV1ProfilesResponses, type GetV1TiktokCreatorInfoData, type GetV1TiktokCreatorInfoError, type GetV1TiktokCreatorInfoErrors, type GetV1TiktokCreatorInfoResponse, type GetV1TiktokCreatorInfoResponses, type GetV1UsageData, type GetV1UsageError, type GetV1UsageErrors, type GetV1UsageResponse, type GetV1UsageResponses, type GoogleBusinessConfigurations, type InstagramConfigurations, InternalServerError, type LinkedInConfigurations, type LinkedInMention, NotFoundError, type PatchV1AppsByIdData, type PatchV1AppsByIdError, type PatchV1AppsByIdErrors, type PatchV1AppsByIdResponse, type PatchV1AppsByIdResponses, type PatchV1CommentAutomationsByIdData, type PatchV1CommentAutomationsByIdError, type PatchV1CommentAutomationsByIdErrors, type PatchV1CommentAutomationsByIdResponse, type PatchV1CommentAutomationsByIdResponses, type PatchV1CommentsByCommentIdData, type PatchV1CommentsByCommentIdError, type PatchV1CommentsByCommentIdErrors, type PatchV1CommentsByCommentIdResponse, type PatchV1CommentsByCommentIdResponses, type PatchV1ConnectIntegrationsByIdData, type PatchV1ConnectIntegrationsByIdError, type PatchV1ConnectIntegrationsByIdErrors, type PatchV1ConnectIntegrationsByIdResponse, type PatchV1ConnectIntegrationsByIdResponses, type PatchV1NotificationsByIdData, type PatchV1NotificationsByIdError, type PatchV1NotificationsByIdErrors, type PatchV1NotificationsByIdResponse, type PatchV1NotificationsByIdResponses, type PatchV1PostsScheduledByPostIdData, type PatchV1PostsScheduledByPostIdError, type PatchV1PostsScheduledByPostIdErrors, type PatchV1PostsScheduledByPostIdResponse, type PatchV1PostsScheduledByPostIdResponses, type PatchV1ProfilesByIdData, type PatchV1ProfilesByIdError, type PatchV1ProfilesByIdErrors, type PatchV1ProfilesByIdResponse, type PatchV1ProfilesByIdResponses, PermissionDeniedError, type PinterestConfigurations, type Platform, type PostPayload, PostPeer, PostPeerError, type PostV1AiImageData, type PostV1AiImageError, type PostV1AiImageErrors, type PostV1AiImageResponse, type PostV1AiImageResponses, type PostV1AiWriteData, type PostV1AiWriteError, type PostV1AiWriteErrors, type PostV1AiWriteResponse, type PostV1AiWriteResponses, type PostV1AppsData, type PostV1AppsError, type PostV1AppsErrors, type PostV1AppsResponse, type PostV1AppsResponses, type PostV1CommentAutomationsData, type PostV1CommentAutomationsError, type PostV1CommentAutomationsErrors, type PostV1CommentAutomationsResponse, type PostV1CommentAutomationsResponses, type PostV1CommentsData, type PostV1CommentsError, type PostV1CommentsErrors, type PostV1CommentsResponse, type PostV1CommentsResponses, type PostV1ConnectBlueskyAuthData, type PostV1ConnectBlueskyAuthError, type PostV1ConnectBlueskyAuthErrors, type PostV1ConnectFacebookSelectionByTokenData, type PostV1ConnectFacebookSelectionByTokenError, type PostV1ConnectFacebookSelectionByTokenErrors, type PostV1ConnectFacebookSelectionByTokenResponse, type PostV1ConnectFacebookSelectionByTokenResponses, type PostV1ConnectLinkedinSelectionByTokenData, type PostV1ConnectLinkedinSelectionByTokenError, type PostV1ConnectLinkedinSelectionByTokenErrors, type PostV1ConnectLinkedinSelectionByTokenResponse, type PostV1ConnectLinkedinSelectionByTokenResponses, type PostV1MediaUploadData, type PostV1MediaUploadError, type PostV1MediaUploadErrors, type PostV1MediaUploadResponse, type PostV1MediaUploadResponses, type PostV1MessagesData, type PostV1MessagesError, type PostV1MessagesErrors, type PostV1MessagesResponse, type PostV1MessagesResponses, type PostV1NotificationsData, type PostV1NotificationsError, type PostV1NotificationsErrors, type PostV1NotificationsResponse, type PostV1NotificationsResponses, type PostV1NotificationsTestData, type PostV1NotificationsTestError, type PostV1NotificationsTestErrors, type PostV1NotificationsTestResponse, type PostV1NotificationsTestResponses, type PostV1PostsByPostIdRetryData, type PostV1PostsByPostIdRetryError, type PostV1PostsByPostIdRetryErrors, type PostV1PostsByPostIdRetryResponse, type PostV1PostsByPostIdRetryResponses, type PostV1PostsData, type PostV1PostsError, type PostV1PostsErrors, type PostV1PostsResponse, type PostV1PostsResponses, type PostV1PostsSyncExternalData, type PostV1PostsSyncExternalError, type PostV1PostsSyncExternalErrors, type PostV1PostsSyncExternalResponse, type PostV1PostsSyncExternalResponses, type PostV1ProfilesData, type PostV1ProfilesResponse, type PostV1ProfilesResponses, type PutV1PostsByPostIdData, type PutV1PostsByPostIdError, type PutV1PostsByPostIdErrors, type PutV1PostsByPostIdResponse, type PutV1PostsByPostIdResponses, type PutV1PostsScheduledByPostIdData, type PutV1PostsScheduledByPostIdError, type PutV1PostsScheduledByPostIdErrors, type PutV1PostsScheduledByPostIdResponse, type PutV1PostsScheduledByPostIdResponses, RateLimitError, type SortOrder, type Status, type ThreadsConfigurations, type TikTokConfigurations, type TwitterConfigurations, UnprocessableEntityError, VERSION, type YouTubeConfigurations, PostPeer as default };