@postpeer/node 0.8.4 → 0.8.6

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
@@ -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
  /**
@@ -588,6 +588,15 @@ type InstagramConfigurations = {
588
588
  * Reels-only. When true (default), the Reel also appears in the account's main feed grid. Set false to publish to Reels only.
589
589
  */
590
590
  shareToFeed?: boolean;
591
+ /**
592
+ * Reels-only. Publishes a single video as a Trial Reel, initially shown to non-followers.
593
+ */
594
+ trialParams?: {
595
+ /**
596
+ * Controls how a Trial Reel is shared with followers. MANUAL keeps graduation manual; SS_PERFORMANCE lets Instagram share it automatically when it performs well.
597
+ */
598
+ graduationStrategy: 'MANUAL' | 'SS_PERFORMANCE';
599
+ };
591
600
  /**
592
601
  * Video-only. Public URL of an image Instagram will use as the cover frame for the Reel/video post. Ignored for image posts.
593
602
  */
@@ -596,6 +605,10 @@ type InstagramConfigurations = {
596
605
  * Video-only. Timestamp in milliseconds Instagram extracts as the cover frame. Ignored when coverUrl is set or for image posts.
597
606
  */
598
607
  thumbOffset?: number;
608
+ /**
609
+ * 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.
610
+ */
611
+ audioName?: string;
599
612
  /**
600
613
  * Feed posts, carousels, and Reels only. Up to three Instagram usernames to invite as collaborators. Each account must accept the invitation in Instagram.
601
614
  */
@@ -805,6 +818,10 @@ type PostPayload = {
805
818
  * IANA timezone for the scheduled time (e.g. America/New_York). Defaults to UTC.
806
819
  */
807
820
  timezone?: string;
821
+ /**
822
+ * 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.
823
+ */
824
+ idempotencyKey?: string;
808
825
  };
809
826
  type GetV1HealthData = {
810
827
  body?: never;
@@ -942,6 +959,10 @@ type PostV1ConnectLinkedinSelectionByTokenResponses = {
942
959
  * Profile this integration belongs to, or null if it was connected without a profile
943
960
  */
944
961
  profileId: string | null;
962
+ /**
963
+ * 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.
964
+ */
965
+ profileName?: string | null;
945
966
  /**
946
967
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
947
968
  */
@@ -966,6 +987,10 @@ type PostV1ConnectLinkedinSelectionByTokenResponses = {
966
987
  * Stable reason reconnection is required, or null while active
967
988
  */
968
989
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
990
+ /**
991
+ * 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.
992
+ */
993
+ insightsReadable: boolean | null;
969
994
  createdAt: string;
970
995
  }>;
971
996
  };
@@ -1077,6 +1102,10 @@ type PostV1ConnectFacebookSelectionByTokenResponses = {
1077
1102
  * Profile this integration belongs to, or null if it was connected without a profile
1078
1103
  */
1079
1104
  profileId: string | null;
1105
+ /**
1106
+ * 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.
1107
+ */
1108
+ profileName?: string | null;
1080
1109
  /**
1081
1110
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1082
1111
  */
@@ -1101,6 +1130,10 @@ type PostV1ConnectFacebookSelectionByTokenResponses = {
1101
1130
  * Stable reason reconnection is required, or null while active
1102
1131
  */
1103
1132
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1133
+ /**
1134
+ * 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.
1135
+ */
1136
+ insightsReadable: boolean | null;
1104
1137
  createdAt: string;
1105
1138
  }>;
1106
1139
  };
@@ -1281,6 +1314,10 @@ type GetV1ConnectIntegrationsResponses = {
1281
1314
  * Profile this integration belongs to, or null if it was connected without a profile
1282
1315
  */
1283
1316
  profileId: string | null;
1317
+ /**
1318
+ * 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.
1319
+ */
1320
+ profileName?: string | null;
1284
1321
  /**
1285
1322
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1286
1323
  */
@@ -1305,6 +1342,10 @@ type GetV1ConnectIntegrationsResponses = {
1305
1342
  * Stable reason reconnection is required, or null while active
1306
1343
  */
1307
1344
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1345
+ /**
1346
+ * 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.
1347
+ */
1348
+ insightsReadable: boolean | null;
1308
1349
  createdAt: string;
1309
1350
  }>;
1310
1351
  };
@@ -1402,6 +1443,10 @@ type GetV1ConnectIntegrationsByIdResponses = {
1402
1443
  * Profile this integration belongs to, or null if it was connected without a profile
1403
1444
  */
1404
1445
  profileId: string | null;
1446
+ /**
1447
+ * 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.
1448
+ */
1449
+ profileName?: string | null;
1405
1450
  /**
1406
1451
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1407
1452
  */
@@ -1426,6 +1471,10 @@ type GetV1ConnectIntegrationsByIdResponses = {
1426
1471
  * Stable reason reconnection is required, or null while active
1427
1472
  */
1428
1473
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1474
+ /**
1475
+ * 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.
1476
+ */
1477
+ insightsReadable: boolean | null;
1429
1478
  createdAt: string;
1430
1479
  } & {
1431
1480
  /**
@@ -1450,10 +1499,10 @@ type GetV1ConnectIntegrationsByIdResponses = {
1450
1499
  */
1451
1500
  autoRefreshes: boolean;
1452
1501
  /**
1453
- * Whether this integration must complete OAuth again
1502
+ * 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
1503
  */
1455
1504
  reconnectRequired: boolean;
1456
- reason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1505
+ reason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | 'insights_permission_missing' | unknown;
1457
1506
  };
1458
1507
  updatedAt: string;
1459
1508
  };
@@ -1539,6 +1588,10 @@ type PatchV1ConnectIntegrationsByIdResponses = {
1539
1588
  * Profile this integration belongs to, or null if it was connected without a profile
1540
1589
  */
1541
1590
  profileId: string | null;
1591
+ /**
1592
+ * 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.
1593
+ */
1594
+ profileName?: string | null;
1542
1595
  /**
1543
1596
  * The OAuth app (customer's own OAuth app) this integration was connected under, or null if postpeer's system app was used.
1544
1597
  */
@@ -1563,6 +1616,10 @@ type PatchV1ConnectIntegrationsByIdResponses = {
1563
1616
  * Stable reason reconnection is required, or null while active
1564
1617
  */
1565
1618
  authFailureReason: 'token_expired' | 'access_revoked' | 'security_invalidation' | 'refresh_rejected' | unknown;
1619
+ /**
1620
+ * 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.
1621
+ */
1622
+ insightsReadable: boolean | null;
1566
1623
  createdAt: string;
1567
1624
  };
1568
1625
  };
@@ -2619,6 +2676,10 @@ type PostV1PostsData = {
2619
2676
  * IANA timezone for the scheduled time (e.g. America/New_York). Defaults to UTC.
2620
2677
  */
2621
2678
  timezone?: string;
2679
+ /**
2680
+ * 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.
2681
+ */
2682
+ idempotencyKey?: string;
2622
2683
  };
2623
2684
  path?: never;
2624
2685
  query?: never;
@@ -2695,6 +2756,104 @@ type PostV1PostsResponses = {
2695
2756
  };
2696
2757
  };
2697
2758
  type PostV1PostsResponse = PostV1PostsResponses[keyof PostV1PostsResponses];
2759
+ type PostV1PostsByPostIdRetryData = {
2760
+ body: {
2761
+ /**
2762
+ * Optional ISO 8601 time to schedule the retry. Omit to retry immediately.
2763
+ */
2764
+ scheduledFor?: string;
2765
+ /**
2766
+ * IANA timezone for the scheduled retry (e.g. America/New_York). Defaults to UTC.
2767
+ */
2768
+ timezone?: string;
2769
+ };
2770
+ path: {
2771
+ /**
2772
+ * ID of the failed post to retry.
2773
+ */
2774
+ postId: string;
2775
+ };
2776
+ query?: never;
2777
+ url: '/v1/posts/{postId}/retry';
2778
+ };
2779
+ type PostV1PostsByPostIdRetryErrors = {
2780
+ /**
2781
+ * Default Response
2782
+ */
2783
+ 400: {
2784
+ success: boolean;
2785
+ message: string;
2786
+ };
2787
+ /**
2788
+ * Default Response
2789
+ */
2790
+ 402: {
2791
+ success: boolean;
2792
+ message: string;
2793
+ };
2794
+ /**
2795
+ * Default Response
2796
+ */
2797
+ 403: {
2798
+ success: boolean;
2799
+ message: string;
2800
+ };
2801
+ /**
2802
+ * Default Response
2803
+ */
2804
+ 404: {
2805
+ success: boolean;
2806
+ message: string;
2807
+ };
2808
+ /**
2809
+ * Default Response
2810
+ */
2811
+ 503: {
2812
+ success: boolean;
2813
+ message: string;
2814
+ };
2815
+ };
2816
+ type PostV1PostsByPostIdRetryError = PostV1PostsByPostIdRetryErrors[keyof PostV1PostsByPostIdRetryErrors];
2817
+ type PostV1PostsByPostIdRetryResponses = {
2818
+ /**
2819
+ * Default Response
2820
+ */
2821
+ 202: {
2822
+ /**
2823
+ * false only when every platform failed
2824
+ */
2825
+ success: boolean;
2826
+ status: 'draft' | 'pending' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2827
+ /**
2828
+ * ISO 8601 datetime the post is scheduled for (only present for scheduled posts)
2829
+ */
2830
+ scheduledFor?: string;
2831
+ /**
2832
+ * id of the saved Post document
2833
+ */
2834
+ postId: string;
2835
+ platforms: Array<{
2836
+ platform: 'twitter' | 'instagram' | 'youtube' | 'tiktok' | 'pinterest' | 'linkedin' | 'bluesky' | 'facebook' | 'threads' | 'googlebusiness';
2837
+ /**
2838
+ * For publish-now timeout fallback, true means the platform target was accepted and final status is still pending.
2839
+ */
2840
+ success: boolean;
2841
+ /**
2842
+ * Direct URL to the published post
2843
+ */
2844
+ platformPostUrl?: string;
2845
+ /**
2846
+ * Error message when success is false
2847
+ */
2848
+ error?: string;
2849
+ /**
2850
+ * Warning message when the post published but a non-critical follow-up action failed
2851
+ */
2852
+ warningMessage?: string;
2853
+ }>;
2854
+ };
2855
+ };
2856
+ type PostV1PostsByPostIdRetryResponse = PostV1PostsByPostIdRetryResponses[keyof PostV1PostsByPostIdRetryResponses];
2698
2857
  type DeleteV1PostsByPostIdData = {
2699
2858
  body?: never;
2700
2859
  path: {
@@ -3211,48 +3370,96 @@ type PostV1MediaUploadResponses = {
3211
3370
  };
3212
3371
  };
3213
3372
  type PostV1MediaUploadResponse = PostV1MediaUploadResponses[keyof PostV1MediaUploadResponses];
3214
- type GetV1AnalyticsData = {
3373
+ type GetV1AnalyticsInstagramFollowerStatsData = {
3215
3374
  body?: never;
3216
3375
  path?: never;
3217
- query?: {
3376
+ query: {
3218
3377
  /**
3219
- * PostPeer post ID or external platform post ID (auto-resolved). When omitted, returns a paginated list of all published posts with analytics.
3378
+ * Integration ID for the connected Instagram account.
3220
3379
  */
3221
- postId?: string;
3222
- platform?: Platform;
3380
+ accountId: string;
3381
+ };
3382
+ url: '/v1/analytics/instagram/follower-stats';
3383
+ };
3384
+ type GetV1AnalyticsInstagramFollowerStatsErrors = {
3385
+ /**
3386
+ * Default Response
3387
+ */
3388
+ 400: {
3389
+ success: boolean;
3390
+ message: string;
3391
+ };
3392
+ /**
3393
+ * Default Response
3394
+ */
3395
+ 402: {
3396
+ success: boolean;
3397
+ message: string;
3398
+ };
3399
+ /**
3400
+ * Default Response
3401
+ */
3402
+ 404: {
3403
+ success: boolean;
3404
+ message: string;
3405
+ };
3406
+ /**
3407
+ * Default Response
3408
+ */
3409
+ 502: {
3410
+ success: boolean;
3411
+ message: string;
3412
+ };
3413
+ };
3414
+ type GetV1AnalyticsInstagramFollowerStatsError = GetV1AnalyticsInstagramFollowerStatsErrors[keyof GetV1AnalyticsInstagramFollowerStatsErrors];
3415
+ type GetV1AnalyticsInstagramFollowerStatsResponses = {
3416
+ /**
3417
+ * Default Response
3418
+ */
3419
+ 200: {
3420
+ success: true;
3421
+ accountId: string;
3422
+ platform: 'instagram';
3223
3423
  /**
3224
- * Integration ID. Required for external ID lookups and source=platform.
3424
+ * Live follower count. null when Meta does not make the value available.
3225
3425
  */
3226
- accountId?: string;
3426
+ currentFollowers: number | null;
3427
+ fetchedAt: string;
3428
+ };
3429
+ };
3430
+ type GetV1AnalyticsInstagramFollowerStatsResponse = GetV1AnalyticsInstagramFollowerStatsResponses[keyof GetV1AnalyticsInstagramFollowerStatsResponses];
3431
+ type GetV1AnalyticsInstagramAccountInsightsData = {
3432
+ body?: never;
3433
+ path?: never;
3434
+ query: {
3227
3435
  /**
3228
- * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3436
+ * Integration ID for the connected Instagram account.
3229
3437
  */
3230
- source?: 'postpeer' | 'platform';
3438
+ accountId: string;
3231
3439
  /**
3232
- * Inclusive start date (YYYY-MM-DD). Defaults to 90 days ago.
3440
+ * 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.
3233
3441
  */
3234
- fromDate?: string;
3442
+ metrics?: string;
3235
3443
  /**
3236
- * Inclusive end date (YYYY-MM-DD). Defaults to today.
3444
+ * Start date (YYYY-MM-DD). Defaults to 30 days ago.
3237
3445
  */
3238
- toDate?: string;
3446
+ since?: string;
3239
3447
  /**
3240
- * Sort results by this metric
3448
+ * End date (YYYY-MM-DD). Defaults to today.
3241
3449
  */
3242
- sortBy?: 'date' | 'likes' | 'comments' | 'impressions' | 'views' | 'shares' | 'saves' | 'clicks' | 'engagement';
3243
- order?: SortOrder;
3450
+ until?: string;
3244
3451
  /**
3245
- * Page size (1-100)
3452
+ * total_value returns an aggregate; time_series returns daily reach values.
3246
3453
  */
3247
- limit?: number;
3454
+ metricType?: 'total_value' | 'time_series';
3248
3455
  /**
3249
- * Page number
3456
+ * Optional Meta breakdown dimension. Only valid with metricType=total_value.
3250
3457
  */
3251
- page?: number;
3458
+ breakdown?: 'media_product_type' | 'follow_type' | 'follower_type' | 'contact_button_type';
3252
3459
  };
3253
- url: '/v1/analytics/';
3460
+ url: '/v1/analytics/instagram/account-insights';
3254
3461
  };
3255
- type GetV1AnalyticsErrors = {
3462
+ type GetV1AnalyticsInstagramAccountInsightsErrors = {
3256
3463
  /**
3257
3464
  * Default Response
3258
3465
  */
@@ -3267,6 +3474,13 @@ type GetV1AnalyticsErrors = {
3267
3474
  success: boolean;
3268
3475
  message: string;
3269
3476
  };
3477
+ /**
3478
+ * Default Response
3479
+ */
3480
+ 403: {
3481
+ success: boolean;
3482
+ message: string;
3483
+ };
3270
3484
  /**
3271
3485
  * Default Response
3272
3486
  */
@@ -3274,127 +3488,901 @@ type GetV1AnalyticsErrors = {
3274
3488
  success: boolean;
3275
3489
  message: string;
3276
3490
  };
3491
+ /**
3492
+ * Default Response
3493
+ */
3494
+ 502: {
3495
+ success: boolean;
3496
+ message: string;
3497
+ };
3277
3498
  };
3278
- type GetV1AnalyticsError = GetV1AnalyticsErrors[keyof GetV1AnalyticsErrors];
3279
- type GetV1AnalyticsResponses = {
3499
+ type GetV1AnalyticsInstagramAccountInsightsError = GetV1AnalyticsInstagramAccountInsightsErrors[keyof GetV1AnalyticsInstagramAccountInsightsErrors];
3500
+ type GetV1AnalyticsInstagramAccountInsightsResponses = {
3280
3501
  /**
3281
- * Single-post response (when postId is supplied) or paginated list response.
3502
+ * Default Response
3282
3503
  */
3283
3504
  200: {
3284
- success: boolean;
3285
- post: {
3286
- /**
3287
- * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3288
- */
3289
- source: 'postpeer' | 'platform';
3290
- /**
3291
- * PostPeer post ID. null when source=platform (post fetched directly from the platform).
3292
- */
3293
- postId: string | null;
3294
- content: string | null;
3295
- publishedAt: string | null;
3296
- aggregated: {
3297
- impressions: number | null;
3298
- reach: number | null;
3299
- likes: number | null;
3300
- comments: number | null;
3301
- shares: number | null;
3302
- saves: number | null;
3303
- clicks: number | null;
3304
- views: number | null;
3305
- /**
3306
- * Engagement rate (0-1). null when the platform does not report engagement.
3307
- */
3308
- engagementRate: number | null;
3309
- };
3310
- platforms: Array<{
3311
- platform: Platform;
3312
- /**
3313
- * Native post ID on the platform
3314
- */
3315
- platformPostId: string;
3316
- /**
3317
- * Direct URL to the published post, if known
3318
- */
3319
- platformPostUrl: string | null;
3320
- metrics: {
3321
- impressions: number | null;
3322
- reach: number | null;
3323
- likes: number | null;
3324
- comments: number | null;
3325
- shares: number | null;
3326
- saves: number | null;
3327
- clicks: number | null;
3328
- views: number | null;
3329
- /**
3330
- * Engagement rate (0-1). null when the platform does not report engagement.
3331
- */
3332
- engagementRate: number | null;
3333
- };
3334
- }>;
3505
+ success: true;
3506
+ accountId: string;
3507
+ platform: 'instagram';
3508
+ dateRange: {
3509
+ since: string;
3510
+ until: string;
3511
+ };
3512
+ metricType: 'total_value' | 'time_series';
3513
+ metrics: {
3514
+ [key: string]: {
3515
+ total: number;
3516
+ values?: Array<{
3517
+ date: string;
3518
+ value: number;
3519
+ }>;
3520
+ breakdowns?: Array<{
3521
+ dimensionKeys: Array<string>;
3522
+ results: Array<{
3523
+ dimensionValues: Array<string>;
3524
+ value: number;
3525
+ }>;
3526
+ }>;
3527
+ };
3528
+ };
3529
+ dataDelay: string;
3530
+ };
3531
+ };
3532
+ type GetV1AnalyticsInstagramAccountInsightsResponse = GetV1AnalyticsInstagramAccountInsightsResponses[keyof GetV1AnalyticsInstagramAccountInsightsResponses];
3533
+ type GetV1AnalyticsInstagramDemographicsData = {
3534
+ body?: never;
3535
+ path?: never;
3536
+ query: {
3537
+ /**
3538
+ * Integration ID for the connected Instagram account.
3539
+ */
3540
+ accountId: string;
3541
+ /**
3542
+ * Audience whose demographic data should be returned.
3543
+ */
3544
+ metric?: 'follower_demographics' | 'engaged_audience_demographics' | 'reached_audience_demographics';
3545
+ /**
3546
+ * Comma-separated demographic dimensions: age, city, country, gender. Defaults to all four.
3547
+ */
3548
+ breakdown?: string;
3549
+ /**
3550
+ * Meta demographic timeframe. this_week covers the last 7 days; this_month covers the last 30 days.
3551
+ */
3552
+ timeframe?: 'this_week' | 'this_month';
3553
+ };
3554
+ url: '/v1/analytics/instagram/demographics';
3555
+ };
3556
+ type GetV1AnalyticsInstagramDemographicsErrors = {
3557
+ /**
3558
+ * Default Response
3559
+ */
3560
+ 400: {
3561
+ success: boolean;
3562
+ message: string;
3563
+ };
3564
+ /**
3565
+ * Default Response
3566
+ */
3567
+ 402: {
3568
+ success: boolean;
3569
+ message: string;
3570
+ };
3571
+ /**
3572
+ * Default Response
3573
+ */
3574
+ 403: {
3575
+ success: boolean;
3576
+ message: string;
3577
+ };
3578
+ /**
3579
+ * Default Response
3580
+ */
3581
+ 404: {
3582
+ success: boolean;
3583
+ message: string;
3584
+ };
3585
+ /**
3586
+ * Default Response
3587
+ */
3588
+ 502: {
3589
+ success: boolean;
3590
+ message: string;
3591
+ };
3592
+ };
3593
+ type GetV1AnalyticsInstagramDemographicsError = GetV1AnalyticsInstagramDemographicsErrors[keyof GetV1AnalyticsInstagramDemographicsErrors];
3594
+ type GetV1AnalyticsInstagramDemographicsResponses = {
3595
+ /**
3596
+ * Default Response
3597
+ */
3598
+ 200: {
3599
+ success: true;
3600
+ accountId: string;
3601
+ platform: 'instagram';
3602
+ metric: 'follower_demographics' | 'engaged_audience_demographics' | 'reached_audience_demographics';
3603
+ timeframe: 'this_week' | 'this_month';
3604
+ demographics: {
3605
+ age?: Array<{
3606
+ dimension: string;
3607
+ value: number;
3608
+ }>;
3609
+ city?: Array<{
3610
+ dimension: string;
3611
+ value: number;
3612
+ }>;
3613
+ country?: Array<{
3614
+ dimension: string;
3615
+ value: number;
3616
+ }>;
3617
+ gender?: Array<{
3618
+ dimension: string;
3619
+ value: number;
3620
+ }>;
3621
+ };
3622
+ note: string;
3623
+ };
3624
+ };
3625
+ type GetV1AnalyticsInstagramDemographicsResponse = GetV1AnalyticsInstagramDemographicsResponses[keyof GetV1AnalyticsInstagramDemographicsResponses];
3626
+ type GetV1AnalyticsData = {
3627
+ body?: never;
3628
+ path?: never;
3629
+ query?: {
3630
+ /**
3631
+ * PostPeer post ID or external platform post ID (auto-resolved). When omitted, returns a paginated list of all published posts with analytics.
3632
+ */
3633
+ postId?: string;
3634
+ platform?: Platform;
3635
+ /**
3636
+ * Integration ID. Required for external ID lookups and source=platform.
3637
+ */
3638
+ accountId?: string;
3639
+ /**
3640
+ * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3641
+ */
3642
+ source?: 'postpeer' | 'platform';
3643
+ /**
3644
+ * Inclusive start date (YYYY-MM-DD). Defaults to 90 days ago.
3645
+ */
3646
+ fromDate?: string;
3647
+ /**
3648
+ * Inclusive end date (YYYY-MM-DD). Defaults to today.
3649
+ */
3650
+ toDate?: string;
3651
+ /**
3652
+ * Sort results by this metric
3653
+ */
3654
+ sortBy?: 'date' | 'likes' | 'comments' | 'impressions' | 'views' | 'shares' | 'saves' | 'clicks' | 'engagement';
3655
+ order?: SortOrder;
3656
+ /**
3657
+ * Page size (1-100)
3658
+ */
3659
+ limit?: number;
3660
+ /**
3661
+ * Page number
3662
+ */
3663
+ page?: number;
3664
+ };
3665
+ url: '/v1/analytics/';
3666
+ };
3667
+ type GetV1AnalyticsErrors = {
3668
+ /**
3669
+ * Default Response
3670
+ */
3671
+ 400: {
3672
+ success: boolean;
3673
+ message: string;
3674
+ };
3675
+ /**
3676
+ * Default Response
3677
+ */
3678
+ 402: {
3679
+ success: boolean;
3680
+ message: string;
3681
+ };
3682
+ /**
3683
+ * Default Response
3684
+ */
3685
+ 404: {
3686
+ success: boolean;
3687
+ message: string;
3688
+ };
3689
+ };
3690
+ type GetV1AnalyticsError = GetV1AnalyticsErrors[keyof GetV1AnalyticsErrors];
3691
+ type GetV1AnalyticsResponses = {
3692
+ /**
3693
+ * Single-post response (when postId is supplied) or paginated list response.
3694
+ */
3695
+ 200: {
3696
+ success: boolean;
3697
+ post: {
3698
+ /**
3699
+ * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3700
+ */
3701
+ source: 'postpeer' | 'platform';
3702
+ /**
3703
+ * PostPeer post ID. null when source=platform (post fetched directly from the platform).
3704
+ */
3705
+ postId: string | null;
3706
+ content: string | null;
3707
+ publishedAt: string | null;
3708
+ /**
3709
+ * Normalized media type when the platform exposes it.
3710
+ */
3711
+ mediaType?: 'image' | 'video' | 'reel' | 'carousel';
3712
+ /**
3713
+ * Post thumbnail or representative media URL, if available.
3714
+ */
3715
+ thumbnailUrl?: string | null;
3716
+ aggregated: {
3717
+ impressions: number | null;
3718
+ reach: number | null;
3719
+ likes: number | null;
3720
+ comments: number | null;
3721
+ shares: number | null;
3722
+ saves: number | null;
3723
+ clicks: number | null;
3724
+ views: number | null;
3725
+ /**
3726
+ * Engagement rate (0-1). null when the platform does not report engagement.
3727
+ */
3728
+ engagementRate: number | null;
3729
+ /**
3730
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3731
+ */
3732
+ avgWatchTime?: number | null;
3733
+ /**
3734
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3735
+ */
3736
+ totalWatchTime?: number | null;
3737
+ /**
3738
+ * 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.
3739
+ */
3740
+ skipRate?: number | null;
3741
+ };
3742
+ platforms: Array<{
3743
+ platform: Platform;
3744
+ /**
3745
+ * Native post ID on the platform
3746
+ */
3747
+ platformPostId: string;
3748
+ /**
3749
+ * Direct URL to the published post, if known
3750
+ */
3751
+ platformPostUrl: string | null;
3752
+ metrics: {
3753
+ impressions: number | null;
3754
+ reach: number | null;
3755
+ likes: number | null;
3756
+ comments: number | null;
3757
+ shares: number | null;
3758
+ saves: number | null;
3759
+ clicks: number | null;
3760
+ views: number | null;
3761
+ /**
3762
+ * Engagement rate (0-1). null when the platform does not report engagement.
3763
+ */
3764
+ engagementRate: number | null;
3765
+ /**
3766
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3767
+ */
3768
+ avgWatchTime?: number | null;
3769
+ /**
3770
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3771
+ */
3772
+ totalWatchTime?: number | null;
3773
+ /**
3774
+ * 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.
3775
+ */
3776
+ skipRate?: number | null;
3777
+ };
3778
+ }>;
3335
3779
  };
3336
3780
  } | {
3337
3781
  success: boolean;
3338
3782
  /**
3339
- * Total matched posts across all pages
3783
+ * Total matched posts across all pages
3784
+ */
3785
+ total: number;
3786
+ page: number;
3787
+ limit: number;
3788
+ posts: Array<{
3789
+ /**
3790
+ * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3791
+ */
3792
+ source: 'postpeer' | 'platform';
3793
+ /**
3794
+ * PostPeer post ID. null when source=platform (post fetched directly from the platform).
3795
+ */
3796
+ postId: string | null;
3797
+ content: string | null;
3798
+ publishedAt: string | null;
3799
+ /**
3800
+ * Normalized media type when the platform exposes it.
3801
+ */
3802
+ mediaType?: 'image' | 'video' | 'reel' | 'carousel';
3803
+ /**
3804
+ * Post thumbnail or representative media URL, if available.
3805
+ */
3806
+ thumbnailUrl?: string | null;
3807
+ aggregated: {
3808
+ impressions: number | null;
3809
+ reach: number | null;
3810
+ likes: number | null;
3811
+ comments: number | null;
3812
+ shares: number | null;
3813
+ saves: number | null;
3814
+ clicks: number | null;
3815
+ views: number | null;
3816
+ /**
3817
+ * Engagement rate (0-1). null when the platform does not report engagement.
3818
+ */
3819
+ engagementRate: number | null;
3820
+ /**
3821
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3822
+ */
3823
+ avgWatchTime?: number | null;
3824
+ /**
3825
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3826
+ */
3827
+ totalWatchTime?: number | null;
3828
+ /**
3829
+ * 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.
3830
+ */
3831
+ skipRate?: number | null;
3832
+ };
3833
+ platforms: Array<{
3834
+ platform: Platform;
3835
+ /**
3836
+ * Native post ID on the platform
3837
+ */
3838
+ platformPostId: string;
3839
+ /**
3840
+ * Direct URL to the published post, if known
3841
+ */
3842
+ platformPostUrl: string | null;
3843
+ metrics: {
3844
+ impressions: number | null;
3845
+ reach: number | null;
3846
+ likes: number | null;
3847
+ comments: number | null;
3848
+ shares: number | null;
3849
+ saves: number | null;
3850
+ clicks: number | null;
3851
+ views: number | null;
3852
+ /**
3853
+ * Engagement rate (0-1). null when the platform does not report engagement.
3854
+ */
3855
+ engagementRate: number | null;
3856
+ /**
3857
+ * Instagram Reels only. Average watch time per view, in seconds. null for other media/platforms.
3858
+ */
3859
+ avgWatchTime?: number | null;
3860
+ /**
3861
+ * Instagram Reels only. Total watch time in seconds, including replays. Meta flags this metric as in development, so it may be null.
3862
+ */
3863
+ totalWatchTime?: number | null;
3864
+ /**
3865
+ * 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.
3866
+ */
3867
+ skipRate?: number | null;
3868
+ };
3869
+ }>;
3870
+ }>;
3871
+ };
3872
+ };
3873
+ type GetV1AnalyticsResponse = GetV1AnalyticsResponses[keyof GetV1AnalyticsResponses];
3874
+ type GetV1CommentsData = {
3875
+ body?: never;
3876
+ path?: never;
3877
+ query: {
3878
+ /**
3879
+ * Platform to fetch comments from.
3880
+ */
3881
+ platform: 'facebook' | 'instagram' | 'threads';
3882
+ /**
3883
+ * Integration ID of the connected account.
3884
+ */
3885
+ accountId: string;
3886
+ /**
3887
+ * Platform post ID to fetch comments for.
3888
+ */
3889
+ postId: string;
3890
+ /**
3891
+ * Max comments to return.
3892
+ */
3893
+ limit?: number;
3894
+ /**
3895
+ * Pagination cursor from a previous response.
3896
+ */
3897
+ after?: string;
3898
+ };
3899
+ url: '/v1/comments/';
3900
+ };
3901
+ type GetV1CommentsErrors = {
3902
+ /**
3903
+ * Default Response
3904
+ */
3905
+ 400: {
3906
+ success: boolean;
3907
+ message: string;
3908
+ };
3909
+ /**
3910
+ * Default Response
3911
+ */
3912
+ 401: {
3913
+ success: boolean;
3914
+ message: string;
3915
+ };
3916
+ /**
3917
+ * Default Response
3918
+ */
3919
+ 403: {
3920
+ success: boolean;
3921
+ message: string;
3922
+ };
3923
+ /**
3924
+ * Default Response
3925
+ */
3926
+ 404: {
3927
+ success: boolean;
3928
+ message: string;
3929
+ };
3930
+ /**
3931
+ * Default Response
3932
+ */
3933
+ 429: {
3934
+ success: boolean;
3935
+ message: string;
3936
+ };
3937
+ /**
3938
+ * Default Response
3939
+ */
3940
+ 502: {
3941
+ success: boolean;
3942
+ message: string;
3943
+ };
3944
+ };
3945
+ type GetV1CommentsError = GetV1CommentsErrors[keyof GetV1CommentsErrors];
3946
+ type GetV1CommentsResponses = {
3947
+ /**
3948
+ * Default Response
3949
+ */
3950
+ 200: {
3951
+ success: boolean;
3952
+ comments: Array<{
3953
+ /**
3954
+ * Platform comment ID
3955
+ */
3956
+ id: string;
3957
+ text: string | null;
3958
+ author: {
3959
+ id: string | null;
3960
+ name: string | null;
3961
+ };
3962
+ timestamp: string | null;
3963
+ likeCount: number | null;
3964
+ hidden: boolean | null;
3965
+ replies?: Array<{
3966
+ id: string;
3967
+ text: string | null;
3968
+ author: {
3969
+ id: string | null;
3970
+ name: string | null;
3971
+ };
3972
+ timestamp: string | null;
3973
+ likeCount: number | null;
3974
+ }>;
3975
+ }>;
3976
+ /**
3977
+ * Pass as `after` in the next request to paginate.
3978
+ */
3979
+ nextCursor: string | null;
3980
+ };
3981
+ };
3982
+ type GetV1CommentsResponse = GetV1CommentsResponses[keyof GetV1CommentsResponses];
3983
+ type PostV1CommentsData = {
3984
+ body: {
3985
+ /**
3986
+ * Platform to post the comment on.
3987
+ */
3988
+ platform: 'facebook' | 'instagram' | 'threads';
3989
+ /**
3990
+ * Integration ID.
3991
+ */
3992
+ accountId: string;
3993
+ /**
3994
+ * Platform post/media ID. Provide this to create a top-level comment on Instagram or Facebook, or a top-level post on Threads.
3995
+ */
3996
+ postId?: string;
3997
+ /**
3998
+ * Platform comment ID to reply to. Provide this to reply to an existing comment.
3999
+ */
4000
+ commentId?: string;
4001
+ /**
4002
+ * Comment text.
4003
+ */
4004
+ text: string;
4005
+ };
4006
+ path?: never;
4007
+ query?: never;
4008
+ url: '/v1/comments/';
4009
+ };
4010
+ type PostV1CommentsErrors = {
4011
+ /**
4012
+ * Default Response
4013
+ */
4014
+ 400: {
4015
+ success: boolean;
4016
+ message: string;
4017
+ };
4018
+ /**
4019
+ * Default Response
4020
+ */
4021
+ 402: {
4022
+ success: boolean;
4023
+ message: string;
4024
+ };
4025
+ /**
4026
+ * Default Response
4027
+ */
4028
+ 404: {
4029
+ success: boolean;
4030
+ message: string;
4031
+ };
4032
+ /**
4033
+ * Default Response
4034
+ */
4035
+ 502: {
4036
+ success: boolean;
4037
+ message: string;
4038
+ };
4039
+ };
4040
+ type PostV1CommentsError = PostV1CommentsErrors[keyof PostV1CommentsErrors];
4041
+ type PostV1CommentsResponses = {
4042
+ /**
4043
+ * Default Response
4044
+ */
4045
+ 200: {
4046
+ success: boolean;
4047
+ /**
4048
+ * ID of the created comment or reply.
4049
+ */
4050
+ commentId: string;
4051
+ };
4052
+ };
4053
+ type PostV1CommentsResponse = PostV1CommentsResponses[keyof PostV1CommentsResponses];
4054
+ type DeleteV1CommentsByCommentIdData = {
4055
+ body?: never;
4056
+ path: {
4057
+ /**
4058
+ * Platform comment ID to delete.
4059
+ */
4060
+ commentId: string;
4061
+ };
4062
+ query: {
4063
+ platform: 'facebook' | 'instagram' | 'threads';
4064
+ /**
4065
+ * Integration ID.
4066
+ */
4067
+ accountId: string;
4068
+ };
4069
+ url: '/v1/comments/{commentId}';
4070
+ };
4071
+ type DeleteV1CommentsByCommentIdErrors = {
4072
+ /**
4073
+ * Default Response
4074
+ */
4075
+ 400: {
4076
+ success: boolean;
4077
+ message: string;
4078
+ };
4079
+ /**
4080
+ * Default Response
4081
+ */
4082
+ 404: {
4083
+ success: boolean;
4084
+ message: string;
4085
+ };
4086
+ /**
4087
+ * Default Response
4088
+ */
4089
+ 502: {
4090
+ success: boolean;
4091
+ message: string;
4092
+ };
4093
+ };
4094
+ type DeleteV1CommentsByCommentIdError = DeleteV1CommentsByCommentIdErrors[keyof DeleteV1CommentsByCommentIdErrors];
4095
+ type DeleteV1CommentsByCommentIdResponses = {
4096
+ /**
4097
+ * Default Response
4098
+ */
4099
+ 200: {
4100
+ success: boolean;
4101
+ };
4102
+ };
4103
+ type DeleteV1CommentsByCommentIdResponse = DeleteV1CommentsByCommentIdResponses[keyof DeleteV1CommentsByCommentIdResponses];
4104
+ type PatchV1CommentsByCommentIdData = {
4105
+ body: {
4106
+ platform: 'facebook' | 'instagram' | 'threads';
4107
+ /**
4108
+ * Integration ID.
4109
+ */
4110
+ accountId: string;
4111
+ /**
4112
+ * true to hide, false to unhide.
4113
+ */
4114
+ hidden: boolean;
4115
+ };
4116
+ path: {
4117
+ /**
4118
+ * Platform comment ID to delete.
4119
+ */
4120
+ commentId: string;
4121
+ };
4122
+ query?: never;
4123
+ url: '/v1/comments/{commentId}';
4124
+ };
4125
+ type PatchV1CommentsByCommentIdErrors = {
4126
+ /**
4127
+ * Default Response
4128
+ */
4129
+ 400: {
4130
+ success: boolean;
4131
+ message: string;
4132
+ };
4133
+ /**
4134
+ * Default Response
4135
+ */
4136
+ 404: {
4137
+ success: boolean;
4138
+ message: string;
4139
+ };
4140
+ /**
4141
+ * Default Response
4142
+ */
4143
+ 502: {
4144
+ success: boolean;
4145
+ message: string;
4146
+ };
4147
+ };
4148
+ type PatchV1CommentsByCommentIdError = PatchV1CommentsByCommentIdErrors[keyof PatchV1CommentsByCommentIdErrors];
4149
+ type PatchV1CommentsByCommentIdResponses = {
4150
+ /**
4151
+ * Default Response
4152
+ */
4153
+ 200: {
4154
+ success: boolean;
4155
+ };
4156
+ };
4157
+ type PatchV1CommentsByCommentIdResponse = PatchV1CommentsByCommentIdResponses[keyof PatchV1CommentsByCommentIdResponses];
4158
+ type GetV1MessagesData = {
4159
+ body?: never;
4160
+ path?: never;
4161
+ query: {
4162
+ /**
4163
+ * Platform to fetch conversations from.
3340
4164
  */
3341
- total: number;
3342
- page: number;
3343
- limit: number;
3344
- posts: Array<{
3345
- /**
3346
- * Where the result came from. "postpeer" = posts published via PostPeer (stored in our DB). "platform" = fetched directly from the connected platform account.
3347
- */
3348
- source: 'postpeer' | 'platform';
4165
+ platform: 'instagram';
4166
+ /**
4167
+ * Integration ID of the connected account.
4168
+ */
4169
+ accountId: string;
4170
+ /**
4171
+ * Max conversations to return.
4172
+ */
4173
+ limit?: number;
4174
+ /**
4175
+ * Pagination cursor from a previous response.
4176
+ */
4177
+ after?: string;
4178
+ };
4179
+ url: '/v1/messages/';
4180
+ };
4181
+ type GetV1MessagesErrors = {
4182
+ /**
4183
+ * Default Response
4184
+ */
4185
+ 400: {
4186
+ success: boolean;
4187
+ message: string;
4188
+ };
4189
+ /**
4190
+ * Default Response
4191
+ */
4192
+ 404: {
4193
+ success: boolean;
4194
+ message: string;
4195
+ };
4196
+ /**
4197
+ * Default Response
4198
+ */
4199
+ 502: {
4200
+ success: boolean;
4201
+ message: string;
4202
+ };
4203
+ };
4204
+ type GetV1MessagesError = GetV1MessagesErrors[keyof GetV1MessagesErrors];
4205
+ type GetV1MessagesResponses = {
4206
+ /**
4207
+ * Default Response
4208
+ */
4209
+ 200: {
4210
+ success: boolean;
4211
+ /**
4212
+ * Participant ID of the connected account in conversations.
4213
+ */
4214
+ selfId: string;
4215
+ /**
4216
+ * Username of the connected account.
4217
+ */
4218
+ selfUsername: string | null;
4219
+ conversations: Array<{
3349
4220
  /**
3350
- * PostPeer post ID. null when source=platform (post fetched directly from the platform).
4221
+ * Platform conversation ID
3351
4222
  */
3352
- postId: string | null;
3353
- content: string | null;
3354
- publishedAt: string | null;
3355
- aggregated: {
3356
- impressions: number | null;
3357
- reach: number | null;
3358
- likes: number | null;
3359
- comments: number | null;
3360
- shares: number | null;
3361
- saves: number | null;
3362
- clicks: number | null;
3363
- views: number | null;
3364
- /**
3365
- * Engagement rate (0-1). null when the platform does not report engagement.
3366
- */
3367
- engagementRate: number | null;
3368
- };
3369
- platforms: Array<{
3370
- platform: Platform;
4223
+ id: string;
4224
+ participants: Array<{
4225
+ id: string | null;
4226
+ name: string | null;
4227
+ username: string | null;
3371
4228
  /**
3372
- * Native post ID on the platform
4229
+ * Temporary Instagram profile picture URL.
3373
4230
  */
3374
- platformPostId: string;
4231
+ profilePictureUrl: string | null;
4232
+ }>;
4233
+ /**
4234
+ * Most recent message in the conversation.
4235
+ */
4236
+ lastMessage: {
3375
4237
  /**
3376
- * Direct URL to the published post, if known
4238
+ * Platform message ID
3377
4239
  */
3378
- platformPostUrl: string | null;
3379
- metrics: {
3380
- impressions: number | null;
3381
- reach: number | null;
3382
- likes: number | null;
3383
- comments: number | null;
3384
- shares: number | null;
3385
- saves: number | null;
3386
- clicks: number | null;
3387
- views: number | null;
3388
- /**
3389
- * Engagement rate (0-1). null when the platform does not report engagement.
3390
- */
3391
- engagementRate: number | null;
4240
+ id: string;
4241
+ text: string | null;
4242
+ from: {
4243
+ id: string | null;
4244
+ name: string | null;
3392
4245
  };
3393
- }>;
4246
+ timestamp: string | null;
4247
+ } | null;
4248
+ updatedTime: string | null;
3394
4249
  }>;
4250
+ /**
4251
+ * Pass as `after` in the next request to paginate.
4252
+ */
4253
+ nextCursor: string | null;
3395
4254
  };
3396
4255
  };
3397
- type GetV1AnalyticsResponse = GetV1AnalyticsResponses[keyof GetV1AnalyticsResponses];
4256
+ type GetV1MessagesResponse = GetV1MessagesResponses[keyof GetV1MessagesResponses];
4257
+ type PostV1MessagesData = {
4258
+ body: {
4259
+ platform: 'instagram';
4260
+ /**
4261
+ * Integration ID.
4262
+ */
4263
+ accountId: string;
4264
+ /**
4265
+ * Platform ID of the recipient.
4266
+ */
4267
+ recipientId: string;
4268
+ /**
4269
+ * Message text.
4270
+ */
4271
+ text: string;
4272
+ };
4273
+ path?: never;
4274
+ query?: never;
4275
+ url: '/v1/messages/';
4276
+ };
4277
+ type PostV1MessagesErrors = {
4278
+ /**
4279
+ * Default Response
4280
+ */
4281
+ 400: {
4282
+ success: boolean;
4283
+ message: string;
4284
+ };
4285
+ /**
4286
+ * Default Response
4287
+ */
4288
+ 402: {
4289
+ success: boolean;
4290
+ message: string;
4291
+ };
4292
+ /**
4293
+ * Default Response
4294
+ */
4295
+ 404: {
4296
+ success: boolean;
4297
+ message: string;
4298
+ };
4299
+ /**
4300
+ * Default Response
4301
+ */
4302
+ 502: {
4303
+ success: boolean;
4304
+ message: string;
4305
+ };
4306
+ };
4307
+ type PostV1MessagesError = PostV1MessagesErrors[keyof PostV1MessagesErrors];
4308
+ type PostV1MessagesResponses = {
4309
+ /**
4310
+ * Default Response
4311
+ */
4312
+ 200: {
4313
+ success: boolean;
4314
+ /**
4315
+ * ID of the sent message.
4316
+ */
4317
+ messageId: string;
4318
+ };
4319
+ };
4320
+ type PostV1MessagesResponse = PostV1MessagesResponses[keyof PostV1MessagesResponses];
4321
+ type GetV1MessagesByConversationIdData = {
4322
+ body?: never;
4323
+ path: {
4324
+ /**
4325
+ * Platform conversation ID.
4326
+ */
4327
+ conversationId: string;
4328
+ };
4329
+ query: {
4330
+ platform: 'instagram';
4331
+ /**
4332
+ * Integration ID.
4333
+ */
4334
+ accountId: string;
4335
+ limit?: number;
4336
+ after?: string;
4337
+ };
4338
+ url: '/v1/messages/{conversationId}';
4339
+ };
4340
+ type GetV1MessagesByConversationIdErrors = {
4341
+ /**
4342
+ * Default Response
4343
+ */
4344
+ 400: {
4345
+ success: boolean;
4346
+ message: string;
4347
+ };
4348
+ /**
4349
+ * Default Response
4350
+ */
4351
+ 404: {
4352
+ success: boolean;
4353
+ message: string;
4354
+ };
4355
+ /**
4356
+ * Default Response
4357
+ */
4358
+ 502: {
4359
+ success: boolean;
4360
+ message: string;
4361
+ };
4362
+ };
4363
+ type GetV1MessagesByConversationIdError = GetV1MessagesByConversationIdErrors[keyof GetV1MessagesByConversationIdErrors];
4364
+ type GetV1MessagesByConversationIdResponses = {
4365
+ /**
4366
+ * Default Response
4367
+ */
4368
+ 200: {
4369
+ success: boolean;
4370
+ messages: Array<{
4371
+ /**
4372
+ * Platform message ID
4373
+ */
4374
+ id: string;
4375
+ text: string | null;
4376
+ from: {
4377
+ id: string | null;
4378
+ name: string | null;
4379
+ };
4380
+ timestamp: string | null;
4381
+ }>;
4382
+ nextCursor: string | null;
4383
+ };
4384
+ };
4385
+ type GetV1MessagesByConversationIdResponse = GetV1MessagesByConversationIdResponses[keyof GetV1MessagesByConversationIdResponses];
3398
4386
  type GetV1UsageData = {
3399
4387
  body?: never;
3400
4388
  path?: never;
@@ -3458,9 +4446,13 @@ type GetV1UsageResponses = {
3458
4446
  */
3459
4447
  month: number;
3460
4448
  /**
3461
- * Credits used this month
4449
+ * Subscription (monthly plan) credits used this month
3462
4450
  */
3463
4451
  count: number;
4452
+ /**
4453
+ * One-time / credit-pack credits used this month
4454
+ */
4455
+ purchasedCount: number;
3464
4456
  /**
3465
4457
  * Credits broken down by platform name
3466
4458
  */
@@ -3906,6 +4898,8 @@ declare class Notifications extends HeyApiClient {
3906
4898
  list<ThrowOnError extends boolean = false>(options?: Options<GetV1NotificationsData, ThrowOnError>): RequestResult<GetV1NotificationsResponses, unknown, ThrowOnError>;
3907
4899
  /**
3908
4900
  * Create a notification subscription
4901
+ *
4902
+ * Create an email or webhook subscription. See the [webhook guide](/docs/webhooks) for request headers, payload fields, and signature verification.
3909
4903
  */
3910
4904
  create<ThrowOnError extends boolean = false>(options: Options<PostV1NotificationsData, ThrowOnError>): RequestResult<PostV1NotificationsResponses, PostV1NotificationsErrors, ThrowOnError>;
3911
4905
  /**
@@ -3960,6 +4954,12 @@ declare class Posts extends HeyApiClient {
3960
4954
  * Publish a post to one or more social media platforms
3961
4955
  */
3962
4956
  create<ThrowOnError extends boolean = false>(options: Options<PostV1PostsData, ThrowOnError>): RequestResult<PostV1PostsResponses, PostV1PostsErrors, ThrowOnError>;
4957
+ /**
4958
+ * Retry the failed platforms of a post
4959
+ *
4960
+ * 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.
4961
+ */
4962
+ retry<ThrowOnError extends boolean = false>(options: Options<PostV1PostsByPostIdRetryData, ThrowOnError>): RequestResult<PostV1PostsByPostIdRetryResponses, PostV1PostsByPostIdRetryErrors, ThrowOnError>;
3963
4963
  /**
3964
4964
  * Delete a post by ID
3965
4965
  */
@@ -3977,6 +4977,26 @@ declare class Media extends HeyApiClient {
3977
4977
  */
3978
4978
  upload<ThrowOnError extends boolean = false>(options: Options<PostV1MediaUploadData, ThrowOnError>): RequestResult<PostV1MediaUploadResponses, PostV1MediaUploadErrors, ThrowOnError>;
3979
4979
  }
4980
+ declare class Instagram extends HeyApiClient {
4981
+ /**
4982
+ * Get Instagram follower count
4983
+ *
4984
+ * 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.
4985
+ */
4986
+ getFollowerStats<ThrowOnError extends boolean = false>(options: Options<GetV1AnalyticsInstagramFollowerStatsData, ThrowOnError>): RequestResult<GetV1AnalyticsInstagramFollowerStatsResponses, GetV1AnalyticsInstagramFollowerStatsErrors, ThrowOnError>;
4987
+ /**
4988
+ * Get Instagram account insights
4989
+ *
4990
+ * 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.
4991
+ */
4992
+ getAccountInsights<ThrowOnError extends boolean = false>(options: Options<GetV1AnalyticsInstagramAccountInsightsData, ThrowOnError>): RequestResult<GetV1AnalyticsInstagramAccountInsightsResponses, GetV1AnalyticsInstagramAccountInsightsErrors, ThrowOnError>;
4993
+ /**
4994
+ * Get Instagram demographics
4995
+ *
4996
+ * 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.
4997
+ */
4998
+ getDemographics<ThrowOnError extends boolean = false>(options: Options<GetV1AnalyticsInstagramDemographicsData, ThrowOnError>): RequestResult<GetV1AnalyticsInstagramDemographicsResponses, GetV1AnalyticsInstagramDemographicsErrors, ThrowOnError>;
4999
+ }
3980
5000
  declare class Analytics extends HeyApiClient {
3981
5001
  /**
3982
5002
  * Get post analytics
@@ -3984,6 +5004,8 @@ declare class Analytics extends HeyApiClient {
3984
5004
  * 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.
3985
5005
  */
3986
5006
  get<ThrowOnError extends boolean = false>(options?: Options<GetV1AnalyticsData, ThrowOnError>): RequestResult<GetV1AnalyticsResponses, GetV1AnalyticsErrors, ThrowOnError>;
5007
+ private _instagram?;
5008
+ get instagram(): Instagram;
3987
5009
  }
3988
5010
  declare class Usage extends HeyApiClient {
3989
5011
  /**
@@ -4033,6 +5055,46 @@ declare class PostPeer$1 extends HeyApiClient {
4033
5055
  * 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.
4034
5056
  */
4035
5057
  moveIntegration<ThrowOnError extends boolean = false>(options: Options<PatchV1ConnectIntegrationsByIdData, ThrowOnError>): RequestResult<PatchV1ConnectIntegrationsByIdResponses, PatchV1ConnectIntegrationsByIdErrors, ThrowOnError>;
5058
+ /**
5059
+ * List comments on a post
5060
+ *
5061
+ * 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).
5062
+ */
5063
+ listComments<ThrowOnError extends boolean = false>(options: Options<GetV1CommentsData, ThrowOnError>): RequestResult<GetV1CommentsResponses, GetV1CommentsErrors, ThrowOnError>;
5064
+ /**
5065
+ * Create a comment or reply
5066
+ *
5067
+ * 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`).
5068
+ */
5069
+ createComment<ThrowOnError extends boolean = false>(options: Options<PostV1CommentsData, ThrowOnError>): RequestResult<PostV1CommentsResponses, PostV1CommentsErrors, ThrowOnError>;
5070
+ /**
5071
+ * Delete a comment
5072
+ *
5073
+ * Delete a comment on a Facebook Page post or Instagram Business post. Not supported on Threads (the API does not allow deleting others' replies).
5074
+ */
5075
+ deleteComment<ThrowOnError extends boolean = false>(options: Options<DeleteV1CommentsByCommentIdData, ThrowOnError>): RequestResult<DeleteV1CommentsByCommentIdResponses, DeleteV1CommentsByCommentIdErrors, ThrowOnError>;
5076
+ /**
5077
+ * Hide or unhide a comment
5078
+ *
5079
+ * Hide or unhide a comment on an Instagram Business post. Pass `hidden: true` to hide, `hidden: false` to unhide. Instagram only.
5080
+ */
5081
+ hideComment<ThrowOnError extends boolean = false>(options: Options<PatchV1CommentsByCommentIdData, ThrowOnError>): RequestResult<PatchV1CommentsByCommentIdResponses, PatchV1CommentsByCommentIdErrors, ThrowOnError>;
5082
+ /**
5083
+ * List conversations
5084
+ *
5085
+ * List DM conversations for a connected Instagram Business account. Requires instagram_business_manage_messages.
5086
+ */
5087
+ listConversations<ThrowOnError extends boolean = false>(options: Options<GetV1MessagesData, ThrowOnError>): RequestResult<GetV1MessagesResponses, GetV1MessagesErrors, ThrowOnError>;
5088
+ /**
5089
+ * Send a message
5090
+ *
5091
+ * Send a DM reply on Instagram.
5092
+ */
5093
+ sendMessage<ThrowOnError extends boolean = false>(options: Options<PostV1MessagesData, ThrowOnError>): RequestResult<PostV1MessagesResponses, PostV1MessagesErrors, ThrowOnError>;
5094
+ /**
5095
+ * Get messages in a conversation
5096
+ */
5097
+ getConversationMessages<ThrowOnError extends boolean = false>(options: Options<GetV1MessagesByConversationIdData, ThrowOnError>): RequestResult<GetV1MessagesByConversationIdResponses, GetV1MessagesByConversationIdErrors, ThrowOnError>;
4036
5098
  private _health?;
4037
5099
  get health(): Health;
4038
5100
  private _connect?;
@@ -4130,6 +5192,6 @@ declare class APIUserAbortError extends APIConnectionError {
4130
5192
  constructor(options?: ErrorOptions);
4131
5193
  }
4132
5194
 
4133
- declare const VERSION = "0.8.4";
5195
+ declare const VERSION = "0.8.6";
4134
5196
 
4135
- export { APIConnectionError, APIConnectionTimeoutError, APIError, APIUserAbortError, AuthenticationError, BadRequestError, type BlueskyConfigurations, type ClientOptions, ConflictError, type DeleteV1AppsByIdData, type DeleteV1AppsByIdError, type DeleteV1AppsByIdErrors, type DeleteV1AppsByIdResponse, type DeleteV1AppsByIdResponses, 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 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 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 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 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 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 };
5197
+ 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 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 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 PostV1PostsByPostIdRetryData, type PostV1PostsByPostIdRetryError, type PostV1PostsByPostIdRetryErrors, type PostV1PostsByPostIdRetryResponse, type PostV1PostsByPostIdRetryResponses, 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 };