@getlatedev/node 0.1.25 → 0.1.26

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.
@@ -231,7 +231,7 @@ export type ErrorResponse = {
231
231
  };
232
232
 
233
233
  /**
234
- * Cannot mix videos and images. Up to 10 images for feed posts. Stories require single image or video (no captions, ephemeral 24h). Use pageId for multi-page posting.
234
+ * Up to 10 images for feed posts, cannot mix videos and images. Stories require single image or video (ephemeral 24h, no captions). Use pageId for multi-page posting.
235
235
  */
236
236
  export type FacebookPlatformData = {
237
237
  /**
@@ -243,10 +243,7 @@ export type FacebookPlatformData = {
243
243
  */
244
244
  firstComment?: string;
245
245
  /**
246
- * Target Facebook Page ID for multi-page posting.
247
- * If omitted, uses the selected/default page on the connection.
248
- * Use GET /api/v1/accounts/{id}/facebook-page to list available pages.
249
- *
246
+ * Target Facebook Page ID for multi-page posting. If omitted, uses the default page. Use GET /v1/accounts/{id}/facebook-page to list pages.
250
247
  */
251
248
  pageId?: string;
252
249
  };
@@ -341,23 +338,15 @@ export type FoodMenuSection = {
341
338
  };
342
339
 
343
340
  /**
344
- * Posts support text and a single image (no videos). Images must be publicly accessible URLs. Optional call-to-action button. Posts appear on GBP, Google Search, and Maps. Use locationId for multi-location posting. Language is auto-detected; override with languageCode.
341
+ * Text and single image only (no videos). Optional call-to-action button. Posts appear on GBP, Google Search, and Maps. Use locationId for multi-location posting.
345
342
  */
346
343
  export type GoogleBusinessPlatformData = {
347
344
  /**
348
- * Target Google Business location ID for multi-location posting.
349
- * Format: "locations/123456789"
350
- * If omitted, uses the selected/default location on the connection.
351
- * Use GET /api/v1/accounts/{id}/gmb-locations to list available locations.
352
- *
345
+ * Target GBP location ID (e.g. "locations/123456789"). If omitted, uses the default location. Use GET /v1/accounts/{id}/gmb-locations to list locations.
353
346
  */
354
347
  locationId?: string;
355
348
  /**
356
- * BCP 47 language code for the post content (e.g., "en", "de", "es", "fr").
357
- * If omitted, the language is automatically detected from the post text.
358
- * Setting this explicitly is recommended when auto-detection may not be accurate
359
- * (e.g., very short posts, mixed-language content, or transliterated text).
360
- *
349
+ * BCP 47 language code (e.g. "en", "de", "es"). Auto-detected if omitted. Set explicitly for short or mixed-language posts.
361
350
  */
362
351
  languageCode?: string;
363
352
  /**
@@ -393,7 +382,7 @@ export type HashtagInfo = {
393
382
  export type status = 'safe' | 'banned' | 'restricted' | 'unknown';
394
383
 
395
384
  /**
396
- * Feed posts require aspect ratio 0.8-1.91; images outside this range must use contentType story. Carousels up to 10 items. Stories require media, no captions. User tag coordinates 0.0-1.0 from top-left. Images over 8 MB and videos over 100 MB (stories) or 300 MB (reels) are auto-compressed.
385
+ * Feed aspect ratio 0.8-1.91, carousels up to 10 items, stories require media (no captions). User tag coordinates 0.0-1.0 from top-left. Images over 8 MB and videos over platform limits are auto-compressed.
397
386
  */
398
387
  export type InstagramPlatformData = {
399
388
  /**
@@ -471,9 +460,7 @@ export type LinkedInAggregateAnalyticsDailyResponse = {
471
460
  endDate?: string;
472
461
  } | null;
473
462
  /**
474
- * Daily breakdown of each metric. Each metric contains an array of date/count pairs.
475
- * Note: 'reach' (MEMBERS_REACHED) is not available with DAILY aggregation per LinkedIn API limitations.
476
- *
463
+ * Daily breakdown of each metric as date/count pairs. Reach not available with DAILY aggregation.
477
464
  */
478
465
  analytics?: {
479
466
  impressions?: Array<{
@@ -549,15 +536,11 @@ export type LinkedInAggregateAnalyticsTotalResponse = {
549
536
  export type aggregation3 = 'TOTAL';
550
537
 
551
538
  /**
552
- * Up to 20 images, no multi-video. Single PDF supported (max 100MB, ~300 pages, cannot mix with other media). Link previews auto-generated when no media attached (disable with disableLinkPreview). Use organizationUrn for multi-org posting.
539
+ * Up to 20 images, no multi-video. Single PDF supported (max 100MB). Link previews auto-generated when no media attached. Use organizationUrn for multi-org posting.
553
540
  */
554
541
  export type LinkedInPlatformData = {
555
542
  /**
556
- * Target LinkedIn Organization URN for multi-organization posting.
557
- * Format: "urn:li:organization:123456789"
558
- * If omitted, uses the selected/default organization on the connection.
559
- * Use GET /api/v1/accounts/{id}/linkedin-organizations to list available organizations.
560
- *
543
+ * Target LinkedIn Organization URN (e.g. "urn:li:organization:123456789"). If omitted, uses the default org. Use GET /v1/accounts/{id}/linkedin-organizations to list orgs.
561
544
  */
562
545
  organizationUrn?: string;
563
546
  /**
@@ -571,9 +554,7 @@ export type LinkedInPlatformData = {
571
554
  };
572
555
 
573
556
  /**
574
- * Media referenced in posts. URLs must be publicly reachable over HTTPS. When using third-party storage, ensure signed links remain valid until upload completes.
575
- * Use POST /v1/media/presign to get a presigned URL for direct cloud storage upload (up to 5GB). Late automatically compresses images and videos that exceed platform limits server-side during publishing. Videos larger than 200 MB may not be compressed due to timeout constraints.
576
- *
557
+ * Media referenced in posts. URLs must be publicly reachable over HTTPS. Use POST /v1/media/presign for uploads up to 5GB. Late auto-compresses images and videos that exceed platform limits (videos over 200 MB may not be compressed).
577
558
  */
578
559
  export type MediaItem = {
579
560
  type?: 'image' | 'video' | 'gif' | 'document';
@@ -709,11 +690,7 @@ export type PlatformTarget = {
709
690
  */
710
691
  platformPostId?: string;
711
692
  /**
712
- * Public URL of the published post on the platform.
713
- * Populated after successful publish. For immediate posts (publishNow=true),
714
- * this is included in the response. For scheduled posts, fetch the post
715
- * via GET /v1/posts/{postId} after the scheduled time.
716
- *
693
+ * Public URL of the published post. Included in the response for immediate posts; for scheduled posts, fetch via GET /v1/posts/{postId} after publish time.
717
694
  */
718
695
  platformPostUrl?: string;
719
696
  /**
@@ -921,8 +898,7 @@ export type Profile = {
921
898
  color?: string;
922
899
  isDefault?: boolean;
923
900
  /**
924
- * Only present when includeOverLimit=true is used. Indicates if this profile exceeds the user's plan limit. Over-limit profiles cannot be used for posting but can be managed (disconnected accounts, deleted).
925
- *
901
+ * Only present when includeOverLimit=true. Indicates if this profile exceeds the plan limit.
926
902
  */
927
903
  isOverLimit?: boolean;
928
904
  createdAt?: string;
@@ -1022,14 +998,11 @@ export type QueueUpdateResponse = {
1022
998
  };
1023
999
 
1024
1000
  /**
1025
- * Posts are either link (with URL/media) or self (text-only). If media is provided, the first item URL is used as the link; use forceSelf to override. Subreddit defaults to the account's configured one. Images over 20 MB are auto-compressed. Some subreddits require a flair; if missing, the first available flair is used as fallback.
1001
+ * Posts are either link (with URL/media) or self (text-only). Use forceSelf to override. Subreddit defaults to the account's configured one. Some subreddits require a flair.
1026
1002
  */
1027
1003
  export type RedditPlatformData = {
1028
1004
  /**
1029
- * Target subreddit name (without "r/" prefix).
1030
- * Overrides the default subreddit configured on the account connection.
1031
- * Use GET /api/v1/accounts/{id}/reddit-subreddits to list available subreddits.
1032
- *
1005
+ * Target subreddit name (without "r/" prefix). Overrides the default. Use GET /v1/accounts/{id}/reddit-subreddits to list options.
1033
1006
  */
1034
1007
  subreddit?: string;
1035
1008
  /**
@@ -1045,18 +1018,13 @@ export type RedditPlatformData = {
1045
1018
  */
1046
1019
  forceSelf?: boolean;
1047
1020
  /**
1048
- * Flair ID for the post. Required by some subreddits.
1049
- * Use GET /api/v1/accounts/{id}/reddit-flairs?subreddit=name to list available flairs.
1050
- *
1021
+ * Flair ID for the post. Required by some subreddits. Use GET /v1/accounts/{id}/reddit-flairs?subreddit=name to list flairs.
1051
1022
  */
1052
1023
  flairId?: string;
1053
1024
  };
1054
1025
 
1055
1026
  /**
1056
- * Requires a Public Profile. Media required for all content types (single item only, auto-encrypted).
1057
- * Content types: story (ephemeral 24h, no caption), saved_story (permanent, title max 45 chars), spotlight (video, description max 160 chars).
1058
- * Images max 20 MB (JPEG/PNG), videos max 500 MB (MP4, 5-60s, min 540x960px).
1059
- *
1027
+ * Requires a Public Profile. Single media item only. Content types: story (ephemeral 24h), saved_story (permanent, title max 45 chars), spotlight (video, max 160 chars).
1060
1028
  */
1061
1029
  export type SnapchatPlatformData = {
1062
1030
  /**
@@ -1077,20 +1045,7 @@ export type SocialAccount = {
1077
1045
  username?: string;
1078
1046
  displayName?: string;
1079
1047
  /**
1080
- * Full profile URL for the connected account. Available for all platforms:
1081
- * - Twitter/X: https://x.com/{username}
1082
- * - Instagram: https://instagram.com/{username}
1083
- * - TikTok: https://tiktok.com/@{username}
1084
- * - YouTube: https://youtube.com/@{handle} or https://youtube.com/channel/{id}
1085
- * - LinkedIn Personal: https://www.linkedin.com/in/{vanityName}/
1086
- * - LinkedIn Organization: https://www.linkedin.com/company/{vanityName}/
1087
- * - Threads: https://threads.net/@{username}
1088
- * - Pinterest: https://pinterest.com/{username}
1089
- * - Reddit: https://reddit.com/user/{username}
1090
- * - Bluesky: https://bsky.app/profile/{handle}
1091
- * - Facebook: https://facebook.com/{username} or https://facebook.com/{pageId}
1092
- * - Google Business: Google Maps URL for the business location
1093
- *
1048
+ * Full profile URL for the connected account on its platform.
1094
1049
  */
1095
1050
  profileUrl?: string;
1096
1051
  isActive?: boolean;
@@ -1105,7 +1060,7 @@ export type SocialAccount = {
1105
1060
  };
1106
1061
 
1107
1062
  /**
1108
- * Supports text, images (up to 10), videos (up to 10), and mixed media albums. Captions up to 1024 chars for media posts, 4096 for text-only. Channel posts show channel name as author; group posts show bot name. Analytics not available via Telegram Bot API.
1063
+ * Text, images (up to 10), videos (up to 10), and mixed media albums. Captions up to 1024 chars for media, 4096 for text-only.
1109
1064
  */
1110
1065
  export type TelegramPlatformData = {
1111
1066
  /**
@@ -1132,7 +1087,7 @@ export type TelegramPlatformData = {
1132
1087
  export type parseMode = 'HTML' | 'Markdown' | 'MarkdownV2';
1133
1088
 
1134
1089
  /**
1135
- * Carousels support up to 10 images (no videos). Single posts support one image or video. Videos must be H.264/AAC MP4, max 5 min. Images must be JPEG/PNG, max 8 MB. threadItems creates a reply chain.
1090
+ * Up to 10 images per carousel (no videos). Videos must be H.264/AAC MP4, max 5 min. Images JPEG/PNG, max 8 MB. Use threadItems for reply chains.
1136
1091
  */
1137
1092
  export type ThreadsPlatformData = {
1138
1093
  /**
@@ -1145,7 +1100,7 @@ export type ThreadsPlatformData = {
1145
1100
  };
1146
1101
 
1147
1102
  /**
1148
- * Photo carousels up to 35 images. Video titles up to 2200 chars; photo titles auto-truncated to 90 chars (use description field for longer text up to 4000 chars). privacyLevel must match creator_info options. allowDuet/allowStitch required for videos. contentPreviewConfirmed and expressConsentGiven must be true. Both camelCase and snake_case accepted.
1103
+ * Photo carousels up to 35 images. Video titles up to 2200 chars, photo titles truncated to 90 chars. privacyLevel must match creator_info options. Both camelCase and snake_case accepted.
1149
1104
  */
1150
1105
  export type TikTokPlatformData = {
1151
1106
  /**
@@ -1640,7 +1595,7 @@ export type YouTubeDailyViewsResponse = {
1640
1595
  };
1641
1596
 
1642
1597
  /**
1643
- * Videos up to 3 min are auto-detected as Shorts, longer as regular videos. Custom thumbnails supported for regular videos only (via mediaItem.thumbnail). Scheduled videos are uploaded immediately with the specified visibility. madeForKids defaults to false.
1598
+ * Videos under 3 min auto-detected as Shorts. Custom thumbnails for regular videos only. Scheduled videos are uploaded immediately with the specified visibility.
1644
1599
  */
1645
1600
  export type YouTubePlatformData = {
1646
1601
  /**
@@ -2410,8 +2365,7 @@ export type GetUserError = ({
2410
2365
  export type ListProfilesData = {
2411
2366
  query?: {
2412
2367
  /**
2413
- * When true, includes profiles that exceed the user's plan limit. Over-limit profiles will have isOverLimit: true in the response. Useful for managing/deleting profiles after a plan downgrade.
2414
- *
2368
+ * When true, includes over-limit profiles (marked with isOverLimit: true).
2415
2369
  */
2416
2370
  includeOverLimit?: boolean;
2417
2371
  };
@@ -2489,9 +2443,7 @@ export type DeleteProfileError = (unknown | {
2489
2443
  export type ListAccountsData = {
2490
2444
  query?: {
2491
2445
  /**
2492
- * When true, includes accounts from profiles that exceed the user's plan limit.
2493
- * Useful for disconnecting accounts from over-limit profiles so they can be deleted.
2494
- *
2446
+ * When true, includes accounts from over-limit profiles.
2495
2447
  */
2496
2448
  includeOverLimit?: boolean;
2497
2449
  /**
@@ -2801,10 +2753,7 @@ export type GetConnectUrlData = {
2801
2753
  */
2802
2754
  profileId: string;
2803
2755
  /**
2804
- * Your custom redirect URL after connection completes.
2805
- * Standard mode: Late redirects here with ?connected={platform}&profileId=X&username=Y.
2806
- * Headless mode: pass headless=true on this endpoint. User is redirected to your URL with OAuth data (profileId, tempToken, userProfile, connect_token, platform, step). See endpoint description for details.
2807
- *
2756
+ * Your custom redirect URL after connection completes. Standard mode appends ?connected={platform}&profileId=X&username=Y. Headless mode appends OAuth data params.
2808
2757
  */
2809
2758
  redirect_url?: string;
2810
2759
  };
@@ -3002,8 +2951,7 @@ export type SelectGoogleBusinessLocationData = {
3002
2951
  */
3003
2952
  tempToken: string;
3004
2953
  /**
3005
- * Decoded user profile object from the OAuth callback. Contains the refresh token needed for token refresh. Always include this field.
3006
- *
2954
+ * Decoded user profile from the OAuth callback. Contains the refresh token. Always include this field.
3007
2955
  */
3008
2956
  userProfile?: {
3009
2957
  id?: string;
@@ -3193,10 +3141,7 @@ export type GetGoogleBusinessLocationDetailsData = {
3193
3141
  };
3194
3142
  query?: {
3195
3143
  /**
3196
- * Comma-separated fields to return. Defaults to common fields.
3197
- * Available: name, title, phoneNumbers, categories, storefrontAddress, websiteUri,
3198
- * regularHours, specialHours, serviceArea, profile, openInfo, metadata, moreHours
3199
- *
3144
+ * Comma-separated fields to return. Available: name, title, phoneNumbers, categories, storefrontAddress, websiteUri, regularHours, specialHours, serviceArea, profile, openInfo, metadata, moreHours.
3200
3145
  */
3201
3146
  readMask?: string;
3202
3147
  };
@@ -3941,8 +3886,7 @@ export type ConnectBlueskyCredentialsData = {
3941
3886
  */
3942
3887
  appPassword: string;
3943
3888
  /**
3944
- * Required state parameter formatted as {userId}-{profileId}. userId is your Late user ID (from GET /v1/users, currentUserId field), profileId is the profile to connect the account to (from GET /v1/profiles).
3945
- *
3889
+ * Required state formatted as {userId}-{profileId}. Get userId from GET /v1/users and profileId from GET /v1/profiles.
3946
3890
  */
3947
3891
  state: string;
3948
3892
  /**
@@ -4000,10 +3944,7 @@ export type GetTelegramConnectStatusError = (unknown | {
4000
3944
  export type InitiateTelegramConnectData = {
4001
3945
  body: {
4002
3946
  /**
4003
- * The Telegram chat ID. Can be:
4004
- * - Numeric ID (e.g., "-1001234567890")
4005
- * - Username with @ prefix (e.g., "@mychannel")
4006
- *
3947
+ * The Telegram chat ID. Numeric ID (e.g. "-1001234567890") or username with @ prefix (e.g. "@mychannel").
4007
3948
  */
4008
3949
  chatId: string;
4009
3950
  /**
@@ -4136,27 +4077,19 @@ export type GetLinkedInAggregateAnalyticsData = {
4136
4077
  };
4137
4078
  query?: {
4138
4079
  /**
4139
- * Type of aggregation: TOTAL (default, returns single totals) or DAILY (returns daily breakdown). Note: MEMBERS_REACHED is not available with DAILY aggregation.
4140
- *
4080
+ * TOTAL (default, lifetime totals) or DAILY (time series). MEMBERS_REACHED not available with DAILY.
4141
4081
  */
4142
4082
  aggregation?: 'TOTAL' | 'DAILY';
4143
4083
  /**
4144
- * End date for analytics data in YYYY-MM-DD format (exclusive).
4145
- * If provided without startDate, startDate defaults to 30 days before endDate.
4146
- *
4084
+ * End date (YYYY-MM-DD, exclusive). Defaults to today if omitted.
4147
4085
  */
4148
4086
  endDate?: string;
4149
4087
  /**
4150
- * Comma-separated list of metrics to fetch. If omitted, fetches all available metrics.
4151
- * Valid values: IMPRESSION, MEMBERS_REACHED, REACTION, COMMENT, RESHARE
4152
- *
4088
+ * Comma-separated metrics: IMPRESSION, MEMBERS_REACHED, REACTION, COMMENT, RESHARE. Omit for all.
4153
4089
  */
4154
4090
  metrics?: string;
4155
4091
  /**
4156
- * Start date for analytics data in YYYY-MM-DD format.
4157
- * If provided without endDate, endDate defaults to today.
4158
- * If omitted entirely, returns lifetime analytics.
4159
- *
4092
+ * Start date (YYYY-MM-DD). If omitted, returns lifetime analytics.
4160
4093
  */
4161
4094
  startDate?: string;
4162
4095
  };
@@ -4283,13 +4216,11 @@ export type GetLinkedInMentionsData = {
4283
4216
  };
4284
4217
  query: {
4285
4218
  /**
4286
- * The exact display name as shown on LinkedIn. Required for person mentions (for clickable mentions; if not provided, a name is derived from the vanity URL which may not match). Optional for organization mentions (company name is auto-retrieved from LinkedIn).
4287
- *
4219
+ * Exact display name as shown on LinkedIn. Required for person mentions to be clickable. Optional for org mentions.
4288
4220
  */
4289
4221
  displayName?: string;
4290
4222
  /**
4291
- * LinkedIn profile URL, company URL, or vanity name. Person examples: miquelpalet, linkedin.com/in/miquelpalet. Organization examples: company/microsoft, linkedin.com/company/microsoft.
4292
- *
4223
+ * LinkedIn profile URL, company URL, or vanity name.
4293
4224
  */
4294
4225
  url: string;
4295
4226
  };
@@ -5645,9 +5576,7 @@ export type ListInboxCommentsError = ({
5645
5576
  export type GetInboxPostCommentsData = {
5646
5577
  path: {
5647
5578
  /**
5648
- * The post identifier. Accepts a Late post ID (MongoDB ObjectId) which is automatically resolved to the platform-specific post ID, or a platform-specific post ID directly (e.g. tweet ID, Facebook Graph ID, YouTube video ID).
5649
- * LinkedIn: for your own posts, the full URN stored in Late is used automatically. For third-party posts, pass the full activity URN or the raw numeric activity ID from the LinkedIn URL (automatically wrapped as urn:li:activity:).
5650
- *
5579
+ * Late post ID or platform-specific post ID. Late IDs are auto-resolved. LinkedIn third-party posts accept full activity URN or numeric ID.
5651
5580
  */
5652
5581
  postId: string;
5653
5582
  };
@@ -5784,10 +5713,7 @@ export type ReplyToInboxPostData = {
5784
5713
  };
5785
5714
  path: {
5786
5715
  /**
5787
- * The post identifier. Accepts a Late post ID or a platform-specific post ID.
5788
- *
5789
- * LinkedIn: for third-party posts, pass the full activity URN (e.g. urn:li:activity:7422459067685855232) or the raw numeric activity ID from the URL.
5790
- *
5716
+ * Late post ID or platform-specific post ID. LinkedIn third-party posts accept full activity URN or numeric ID.
5791
5717
  */
5792
5718
  postId: string;
5793
5719
  };
@@ -5812,10 +5738,7 @@ export type ReplyToInboxPostError = ({
5812
5738
  export type DeleteInboxCommentData = {
5813
5739
  path: {
5814
5740
  /**
5815
- * The post identifier. Accepts a Late post ID or a platform-specific post ID.
5816
- *
5817
- * LinkedIn: for third-party posts, pass the full activity URN (e.g. urn:li:activity:7422459067685855232) or the raw numeric activity ID from the URL.
5818
- *
5741
+ * Late post ID or platform-specific post ID. LinkedIn third-party posts accept full activity URN or numeric ID.
5819
5742
  */
5820
5743
  postId: string;
5821
5744
  };