@getlatedev/node 0.1.22 → 0.1.24
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/README.md +118 -118
- package/dist/index.d.mts +19 -76
- package/dist/index.d.ts +19 -76
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +170 -345
- package/src/generated/types.gen.ts +19 -76
package/README.md
CHANGED
|
@@ -169,154 +169,154 @@ try {
|
|
|
169
169
|
### Posts
|
|
170
170
|
| Method | Description |
|
|
171
171
|
|--------|-------------|
|
|
172
|
-
| `posts.listPosts()` | List posts
|
|
173
|
-
| `posts.bulkUploadPosts()` |
|
|
174
|
-
| `posts.createPost()` | Create
|
|
175
|
-
| `posts.getPost()` | Get
|
|
176
|
-
| `posts.updatePost()` | Update
|
|
177
|
-
| `posts.deletePost()` | Delete
|
|
178
|
-
| `posts.retryPost()` | Retry
|
|
179
|
-
| `posts.unpublishPost()` |
|
|
172
|
+
| `posts.listPosts()` | List posts |
|
|
173
|
+
| `posts.bulkUploadPosts()` | Bulk upload from CSV |
|
|
174
|
+
| `posts.createPost()` | Create post |
|
|
175
|
+
| `posts.getPost()` | Get post |
|
|
176
|
+
| `posts.updatePost()` | Update post |
|
|
177
|
+
| `posts.deletePost()` | Delete post |
|
|
178
|
+
| `posts.retryPost()` | Retry failed post |
|
|
179
|
+
| `posts.unpublishPost()` | Unpublish post |
|
|
180
180
|
|
|
181
181
|
### Accounts
|
|
182
182
|
| Method | Description |
|
|
183
183
|
|--------|-------------|
|
|
184
|
-
| `accounts.getAllAccountsHealth()` | Check health
|
|
185
|
-
| `accounts.listAccounts()` | List
|
|
186
|
-
| `accounts.getAccountHealth()` | Check health
|
|
187
|
-
| `accounts.getFollowerStats()` | Get follower stats
|
|
188
|
-
| `accounts.getGoogleBusinessReviews()` | Get
|
|
189
|
-
| `accounts.getLinkedInMentions()` | Resolve
|
|
190
|
-
| `accounts.updateAccount()` | Update
|
|
191
|
-
| `accounts.deleteAccount()` | Disconnect
|
|
184
|
+
| `accounts.getAllAccountsHealth()` | Check accounts health |
|
|
185
|
+
| `accounts.listAccounts()` | List accounts |
|
|
186
|
+
| `accounts.getAccountHealth()` | Check account health |
|
|
187
|
+
| `accounts.getFollowerStats()` | Get follower stats |
|
|
188
|
+
| `accounts.getGoogleBusinessReviews()` | Get reviews |
|
|
189
|
+
| `accounts.getLinkedInMentions()` | Resolve LinkedIn mention |
|
|
190
|
+
| `accounts.updateAccount()` | Update account |
|
|
191
|
+
| `accounts.deleteAccount()` | Disconnect account |
|
|
192
192
|
|
|
193
193
|
### Profiles
|
|
194
194
|
| Method | Description |
|
|
195
195
|
|--------|-------------|
|
|
196
|
-
| `profiles.listProfiles()` | List profiles
|
|
197
|
-
| `profiles.createProfile()` | Create
|
|
198
|
-
| `profiles.getProfile()` | Get
|
|
199
|
-
| `profiles.updateProfile()` | Update
|
|
200
|
-
| `profiles.deleteProfile()` | Delete
|
|
196
|
+
| `profiles.listProfiles()` | List profiles |
|
|
197
|
+
| `profiles.createProfile()` | Create profile |
|
|
198
|
+
| `profiles.getProfile()` | Get profile |
|
|
199
|
+
| `profiles.updateProfile()` | Update profile |
|
|
200
|
+
| `profiles.deleteProfile()` | Delete profile |
|
|
201
201
|
|
|
202
202
|
### Analytics
|
|
203
203
|
| Method | Description |
|
|
204
204
|
|--------|-------------|
|
|
205
|
-
| `analytics.getAnalytics()` |
|
|
206
|
-
| `analytics.getLinkedInAggregateAnalytics()` | Get
|
|
207
|
-
| `analytics.getLinkedInPostAnalytics()` | Get
|
|
208
|
-
| `analytics.getYouTubeDailyViews()` | YouTube daily views
|
|
205
|
+
| `analytics.getAnalytics()` | Get post analytics |
|
|
206
|
+
| `analytics.getLinkedInAggregateAnalytics()` | Get LinkedIn aggregate stats |
|
|
207
|
+
| `analytics.getLinkedInPostAnalytics()` | Get LinkedIn post stats |
|
|
208
|
+
| `analytics.getYouTubeDailyViews()` | Get YouTube daily views |
|
|
209
209
|
|
|
210
210
|
### Account Groups
|
|
211
211
|
| Method | Description |
|
|
212
212
|
|--------|-------------|
|
|
213
|
-
| `accountGroups.listAccountGroups()` | List
|
|
214
|
-
| `accountGroups.createAccountGroup()` | Create
|
|
215
|
-
| `accountGroups.updateAccountGroup()` | Update
|
|
216
|
-
| `accountGroups.deleteAccountGroup()` | Delete
|
|
213
|
+
| `accountGroups.listAccountGroups()` | List groups |
|
|
214
|
+
| `accountGroups.createAccountGroup()` | Create group |
|
|
215
|
+
| `accountGroups.updateAccountGroup()` | Update group |
|
|
216
|
+
| `accountGroups.deleteAccountGroup()` | Delete group |
|
|
217
217
|
|
|
218
218
|
### Queue
|
|
219
219
|
| Method | Description |
|
|
220
220
|
|--------|-------------|
|
|
221
|
-
| `queue.listQueueSlots()` |
|
|
222
|
-
| `queue.createQueueSlot()` | Create
|
|
223
|
-
| `queue.getNextQueueSlot()` |
|
|
224
|
-
| `queue.updateQueueSlot()` |
|
|
225
|
-
| `queue.deleteQueueSlot()` | Delete
|
|
226
|
-
| `queue.previewQueue()` | Preview upcoming
|
|
221
|
+
| `queue.listQueueSlots()` | List schedules |
|
|
222
|
+
| `queue.createQueueSlot()` | Create schedule |
|
|
223
|
+
| `queue.getNextQueueSlot()` | Get next available slot |
|
|
224
|
+
| `queue.updateQueueSlot()` | Update schedule |
|
|
225
|
+
| `queue.deleteQueueSlot()` | Delete schedule |
|
|
226
|
+
| `queue.previewQueue()` | Preview upcoming slots |
|
|
227
227
|
|
|
228
228
|
### Webhooks
|
|
229
229
|
| Method | Description |
|
|
230
230
|
|--------|-------------|
|
|
231
|
-
| `webhooks.createWebhookSettings()` | Create
|
|
232
|
-
| `webhooks.getWebhookLogs()` | Get
|
|
233
|
-
| `webhooks.getWebhookSettings()` | List
|
|
234
|
-
| `webhooks.updateWebhookSettings()` | Update
|
|
235
|
-
| `webhooks.deleteWebhookSettings()` | Delete
|
|
231
|
+
| `webhooks.createWebhookSettings()` | Create webhook |
|
|
232
|
+
| `webhooks.getWebhookLogs()` | Get delivery logs |
|
|
233
|
+
| `webhooks.getWebhookSettings()` | List webhooks |
|
|
234
|
+
| `webhooks.updateWebhookSettings()` | Update webhook |
|
|
235
|
+
| `webhooks.deleteWebhookSettings()` | Delete webhook |
|
|
236
236
|
| `webhooks.testWebhook()` | Send test webhook |
|
|
237
237
|
|
|
238
238
|
### API Keys
|
|
239
239
|
| Method | Description |
|
|
240
240
|
|--------|-------------|
|
|
241
|
-
| `apiKeys.listApiKeys()` | List
|
|
242
|
-
| `apiKeys.createApiKey()` | Create
|
|
243
|
-
| `apiKeys.deleteApiKey()` | Delete
|
|
241
|
+
| `apiKeys.listApiKeys()` | List keys |
|
|
242
|
+
| `apiKeys.createApiKey()` | Create key |
|
|
243
|
+
| `apiKeys.deleteApiKey()` | Delete key |
|
|
244
244
|
|
|
245
245
|
### Media
|
|
246
246
|
| Method | Description |
|
|
247
247
|
|--------|-------------|
|
|
248
|
-
| `media.getMediaPresignedUrl()` | Get
|
|
248
|
+
| `media.getMediaPresignedUrl()` | Get presigned upload URL |
|
|
249
249
|
|
|
250
250
|
### Tools
|
|
251
251
|
| Method | Description |
|
|
252
252
|
|--------|-------------|
|
|
253
|
-
| `tools.getYouTubeTranscript()` | Get YouTube
|
|
254
|
-
| `tools.checkInstagramHashtags()` | Check Instagram
|
|
255
|
-
| `tools.downloadBlueskyMedia()` | Download Bluesky
|
|
253
|
+
| `tools.getYouTubeTranscript()` | Get YouTube transcript |
|
|
254
|
+
| `tools.checkInstagramHashtags()` | Check Instagram hashtag bans |
|
|
255
|
+
| `tools.downloadBlueskyMedia()` | Download Bluesky media |
|
|
256
256
|
| `tools.downloadFacebookVideo()` | Download Facebook video |
|
|
257
|
-
| `tools.downloadInstagramMedia()` | Download Instagram
|
|
257
|
+
| `tools.downloadInstagramMedia()` | Download Instagram media |
|
|
258
258
|
| `tools.downloadLinkedInVideo()` | Download LinkedIn video |
|
|
259
259
|
| `tools.downloadTikTokVideo()` | Download TikTok video |
|
|
260
|
-
| `tools.downloadTwitterMedia()` | Download Twitter/X
|
|
261
|
-
| `tools.downloadYouTubeVideo()` | Download YouTube video
|
|
260
|
+
| `tools.downloadTwitterMedia()` | Download Twitter/X media |
|
|
261
|
+
| `tools.downloadYouTubeVideo()` | Download YouTube video |
|
|
262
262
|
|
|
263
263
|
### Users
|
|
264
264
|
| Method | Description |
|
|
265
265
|
|--------|-------------|
|
|
266
|
-
| `users.listUsers()` | List
|
|
267
|
-
| `users.getUser()` | Get user
|
|
266
|
+
| `users.listUsers()` | List users |
|
|
267
|
+
| `users.getUser()` | Get user |
|
|
268
268
|
|
|
269
269
|
### Usage
|
|
270
270
|
| Method | Description |
|
|
271
271
|
|--------|-------------|
|
|
272
|
-
| `usage.getUsageStats()` | Get plan and usage stats
|
|
272
|
+
| `usage.getUsageStats()` | Get plan and usage stats |
|
|
273
273
|
|
|
274
274
|
### Logs
|
|
275
275
|
| Method | Description |
|
|
276
276
|
|--------|-------------|
|
|
277
|
-
| `logs.listConnectionLogs()` |
|
|
278
|
-
| `logs.listLogs()` |
|
|
279
|
-
| `logs.listPostsLogs()` |
|
|
280
|
-
| `logs.getLog()` | Get
|
|
281
|
-
| `logs.getPostLogs()` | Get logs
|
|
277
|
+
| `logs.listConnectionLogs()` | List connection logs |
|
|
278
|
+
| `logs.listLogs()` | List publishing logs (deprecated) |
|
|
279
|
+
| `logs.listPostsLogs()` | List publishing logs |
|
|
280
|
+
| `logs.getLog()` | Get log entry |
|
|
281
|
+
| `logs.getPostLogs()` | Get post logs |
|
|
282
282
|
|
|
283
283
|
### Connect (OAuth)
|
|
284
284
|
| Method | Description |
|
|
285
285
|
|--------|-------------|
|
|
286
|
-
| `connect.listFacebookPages()` | List Facebook
|
|
287
|
-
| `connect.listGoogleBusinessLocations()` | List Google Business
|
|
288
|
-
| `connect.listLinkedInOrganizations()` |
|
|
289
|
-
| `connect.listPinterestBoardsForSelection()` | List Pinterest
|
|
290
|
-
| `connect.listSnapchatProfiles()` | List Snapchat
|
|
291
|
-
| `connect.getConnectUrl()` |
|
|
292
|
-
| `connect.getFacebookPages()` | List
|
|
293
|
-
| `connect.getGmbLocations()` | List
|
|
294
|
-
| `connect.getLinkedInOrganizations()` |
|
|
295
|
-
| `connect.getPendingOAuthData()` |
|
|
296
|
-
| `connect.getPinterestBoards()` | List Pinterest boards
|
|
297
|
-
| `connect.getRedditFlairs()` | List
|
|
298
|
-
| `connect.getRedditSubreddits()` | List Reddit subreddits
|
|
299
|
-
| `connect.getTelegramConnectStatus()` | Generate Telegram
|
|
300
|
-
| `connect.updateFacebookPage()` | Update
|
|
301
|
-
| `connect.updateGmbLocation()` | Update
|
|
302
|
-
| `connect.updateLinkedInOrganization()` | Switch LinkedIn account type
|
|
303
|
-
| `connect.updatePinterestBoards()` | Set default Pinterest board
|
|
304
|
-
| `connect.updateRedditSubreddits()` | Set default subreddit
|
|
305
|
-
| `connect.completeTelegramConnect()` | Check Telegram
|
|
306
|
-
| `connect.connectBlueskyCredentials()` | Connect Bluesky
|
|
307
|
-
| `connect.handleOAuthCallback()` | Complete OAuth
|
|
308
|
-
| `connect.initiateTelegramConnect()` |
|
|
309
|
-
| `connect.selectFacebookPage()` | Select
|
|
310
|
-
| `connect.selectGoogleBusinessLocation()` | Select
|
|
311
|
-
| `connect.selectLinkedInOrganization()` | Select LinkedIn
|
|
312
|
-
| `connect.selectPinterestBoard()` | Select
|
|
313
|
-
| `connect.selectSnapchatProfile()` | Select
|
|
286
|
+
| `connect.listFacebookPages()` | List Facebook pages |
|
|
287
|
+
| `connect.listGoogleBusinessLocations()` | List Google Business locations |
|
|
288
|
+
| `connect.listLinkedInOrganizations()` | List LinkedIn orgs |
|
|
289
|
+
| `connect.listPinterestBoardsForSelection()` | List Pinterest boards |
|
|
290
|
+
| `connect.listSnapchatProfiles()` | List Snapchat profiles |
|
|
291
|
+
| `connect.getConnectUrl()` | Get OAuth connect URL |
|
|
292
|
+
| `connect.getFacebookPages()` | List Facebook pages |
|
|
293
|
+
| `connect.getGmbLocations()` | List Google Business locations |
|
|
294
|
+
| `connect.getLinkedInOrganizations()` | List LinkedIn orgs |
|
|
295
|
+
| `connect.getPendingOAuthData()` | Get pending OAuth data |
|
|
296
|
+
| `connect.getPinterestBoards()` | List Pinterest boards |
|
|
297
|
+
| `connect.getRedditFlairs()` | List subreddit flairs |
|
|
298
|
+
| `connect.getRedditSubreddits()` | List Reddit subreddits |
|
|
299
|
+
| `connect.getTelegramConnectStatus()` | Generate Telegram code |
|
|
300
|
+
| `connect.updateFacebookPage()` | Update Facebook page |
|
|
301
|
+
| `connect.updateGmbLocation()` | Update Google Business location |
|
|
302
|
+
| `connect.updateLinkedInOrganization()` | Switch LinkedIn account type |
|
|
303
|
+
| `connect.updatePinterestBoards()` | Set default Pinterest board |
|
|
304
|
+
| `connect.updateRedditSubreddits()` | Set default subreddit |
|
|
305
|
+
| `connect.completeTelegramConnect()` | Check Telegram status |
|
|
306
|
+
| `connect.connectBlueskyCredentials()` | Connect Bluesky account |
|
|
307
|
+
| `connect.handleOAuthCallback()` | Complete OAuth callback |
|
|
308
|
+
| `connect.initiateTelegramConnect()` | Connect Telegram directly |
|
|
309
|
+
| `connect.selectFacebookPage()` | Select Facebook page |
|
|
310
|
+
| `connect.selectGoogleBusinessLocation()` | Select Google Business location |
|
|
311
|
+
| `connect.selectLinkedInOrganization()` | Select LinkedIn org |
|
|
312
|
+
| `connect.selectPinterestBoard()` | Select Pinterest board |
|
|
313
|
+
| `connect.selectSnapchatProfile()` | Select Snapchat profile |
|
|
314
314
|
|
|
315
315
|
### Reddit
|
|
316
316
|
| Method | Description |
|
|
317
317
|
|--------|-------------|
|
|
318
|
-
| `reddit.getRedditFeed()` |
|
|
319
|
-
| `reddit.searchReddit()` | Search
|
|
318
|
+
| `reddit.getRedditFeed()` | Get subreddit feed |
|
|
319
|
+
| `reddit.searchReddit()` | Search posts |
|
|
320
320
|
|
|
321
321
|
### Account Settings
|
|
322
322
|
| Method | Description |
|
|
@@ -334,69 +334,69 @@ try {
|
|
|
334
334
|
### Comments (Inbox)
|
|
335
335
|
| Method | Description |
|
|
336
336
|
|--------|-------------|
|
|
337
|
-
| `comments.listInboxComments()` | List posts
|
|
338
|
-
| `comments.getInboxPostComments()` | Get comments
|
|
339
|
-
| `comments.deleteInboxComment()` | Delete
|
|
340
|
-
| `comments.hideInboxComment()` | Hide
|
|
341
|
-
| `comments.likeInboxComment()` | Like
|
|
342
|
-
| `comments.replyToInboxPost()` | Reply to
|
|
343
|
-
| `comments.sendPrivateReplyToComment()` | Send private reply
|
|
344
|
-
| `comments.unhideInboxComment()` | Unhide
|
|
345
|
-
| `comments.unlikeInboxComment()` | Unlike
|
|
337
|
+
| `comments.listInboxComments()` | List commented posts |
|
|
338
|
+
| `comments.getInboxPostComments()` | Get post comments |
|
|
339
|
+
| `comments.deleteInboxComment()` | Delete comment |
|
|
340
|
+
| `comments.hideInboxComment()` | Hide comment |
|
|
341
|
+
| `comments.likeInboxComment()` | Like comment |
|
|
342
|
+
| `comments.replyToInboxPost()` | Reply to comment |
|
|
343
|
+
| `comments.sendPrivateReplyToComment()` | Send private reply |
|
|
344
|
+
| `comments.unhideInboxComment()` | Unhide comment |
|
|
345
|
+
| `comments.unlikeInboxComment()` | Unlike comment |
|
|
346
346
|
|
|
347
347
|
### GMB Attributes
|
|
348
348
|
| Method | Description |
|
|
349
349
|
|--------|-------------|
|
|
350
|
-
| `gmbAttributes.getGoogleBusinessAttributes()` | Get
|
|
351
|
-
| `gmbAttributes.updateGoogleBusinessAttributes()` | Update
|
|
350
|
+
| `gmbAttributes.getGoogleBusinessAttributes()` | Get attributes |
|
|
351
|
+
| `gmbAttributes.updateGoogleBusinessAttributes()` | Update attributes |
|
|
352
352
|
|
|
353
353
|
### GMB Food Menus
|
|
354
354
|
| Method | Description |
|
|
355
355
|
|--------|-------------|
|
|
356
|
-
| `gmbFoodMenus.getGoogleBusinessFoodMenus()` | Get
|
|
357
|
-
| `gmbFoodMenus.updateGoogleBusinessFoodMenus()` | Update
|
|
356
|
+
| `gmbFoodMenus.getGoogleBusinessFoodMenus()` | Get food menus |
|
|
357
|
+
| `gmbFoodMenus.updateGoogleBusinessFoodMenus()` | Update food menus |
|
|
358
358
|
|
|
359
359
|
### GMB Location Details
|
|
360
360
|
| Method | Description |
|
|
361
361
|
|--------|-------------|
|
|
362
|
-
| `gmbLocationDetails.getGoogleBusinessLocationDetails()` | Get
|
|
363
|
-
| `gmbLocationDetails.updateGoogleBusinessLocationDetails()` | Update
|
|
362
|
+
| `gmbLocationDetails.getGoogleBusinessLocationDetails()` | Get location details |
|
|
363
|
+
| `gmbLocationDetails.updateGoogleBusinessLocationDetails()` | Update location details |
|
|
364
364
|
|
|
365
365
|
### GMB Media
|
|
366
366
|
| Method | Description |
|
|
367
367
|
|--------|-------------|
|
|
368
|
-
| `gmbMedia.listGoogleBusinessMedia()` | List
|
|
369
|
-
| `gmbMedia.createGoogleBusinessMedia()` | Upload
|
|
370
|
-
| `gmbMedia.deleteGoogleBusinessMedia()` | Delete
|
|
368
|
+
| `gmbMedia.listGoogleBusinessMedia()` | List media |
|
|
369
|
+
| `gmbMedia.createGoogleBusinessMedia()` | Upload photo |
|
|
370
|
+
| `gmbMedia.deleteGoogleBusinessMedia()` | Delete photo |
|
|
371
371
|
|
|
372
372
|
### GMB Place Actions
|
|
373
373
|
| Method | Description |
|
|
374
374
|
|--------|-------------|
|
|
375
|
-
| `gmbPlaceActions.listGoogleBusinessPlaceActions()` | List
|
|
376
|
-
| `gmbPlaceActions.createGoogleBusinessPlaceAction()` | Create
|
|
377
|
-
| `gmbPlaceActions.deleteGoogleBusinessPlaceAction()` | Delete
|
|
375
|
+
| `gmbPlaceActions.listGoogleBusinessPlaceActions()` | List action links |
|
|
376
|
+
| `gmbPlaceActions.createGoogleBusinessPlaceAction()` | Create action link |
|
|
377
|
+
| `gmbPlaceActions.deleteGoogleBusinessPlaceAction()` | Delete action link |
|
|
378
378
|
|
|
379
379
|
### Messages (Inbox)
|
|
380
380
|
| Method | Description |
|
|
381
381
|
|--------|-------------|
|
|
382
|
-
| `messages.listInboxConversations()` | List conversations
|
|
383
|
-
| `messages.getInboxConversation()` | Get conversation
|
|
384
|
-
| `messages.getInboxConversationMessages()` |
|
|
382
|
+
| `messages.listInboxConversations()` | List conversations |
|
|
383
|
+
| `messages.getInboxConversation()` | Get conversation |
|
|
384
|
+
| `messages.getInboxConversationMessages()` | List messages |
|
|
385
385
|
| `messages.updateInboxConversation()` | Update conversation status |
|
|
386
|
-
| `messages.editInboxMessage()` | Edit
|
|
387
|
-
| `messages.sendInboxMessage()` | Send
|
|
386
|
+
| `messages.editInboxMessage()` | Edit message |
|
|
387
|
+
| `messages.sendInboxMessage()` | Send message |
|
|
388
388
|
|
|
389
389
|
### Reviews (Inbox)
|
|
390
390
|
| Method | Description |
|
|
391
391
|
|--------|-------------|
|
|
392
|
-
| `reviews.listInboxReviews()` | List reviews
|
|
393
|
-
| `reviews.deleteInboxReviewReply()` | Delete
|
|
394
|
-
| `reviews.replyToInboxReview()` | Reply to
|
|
392
|
+
| `reviews.listInboxReviews()` | List reviews |
|
|
393
|
+
| `reviews.deleteInboxReviewReply()` | Delete review reply |
|
|
394
|
+
| `reviews.replyToInboxReview()` | Reply to review |
|
|
395
395
|
|
|
396
396
|
### Invites
|
|
397
397
|
| Method | Description |
|
|
398
398
|
|--------|-------------|
|
|
399
|
-
| `invites.createInviteToken()` | Create
|
|
399
|
+
| `invites.createInviteToken()` | Create invite token |
|
|
400
400
|
|
|
401
401
|
## Requirements
|
|
402
402
|
|
package/dist/index.d.mts
CHANGED
|
@@ -1021,42 +1021,14 @@ type LinkedInPlatformData = {
|
|
|
1021
1021
|
};
|
|
1022
1022
|
/**
|
|
1023
1023
|
* Media referenced in posts. URLs must be publicly reachable over HTTPS by the destination platforms.
|
|
1024
|
-
* When using third
|
|
1024
|
+
* When using third-party storage, ensure signed links remain valid until upload completes.
|
|
1025
1025
|
*
|
|
1026
1026
|
* **Uploading Media:**
|
|
1027
1027
|
* Use `POST /v1/media/presign` to get a presigned URL, then upload your file directly to cloud storage.
|
|
1028
1028
|
* Supports files up to 5GB. See the `/v1/media/presign` endpoint documentation for details.
|
|
1029
1029
|
*
|
|
1030
1030
|
* **Automatic Media Compression:**
|
|
1031
|
-
* Late automatically compresses
|
|
1032
|
-
*
|
|
1033
|
-
* **Image compression by platform:**
|
|
1034
|
-
* - Twitter/X: >5 MB
|
|
1035
|
-
* - Instagram: >8 MB
|
|
1036
|
-
* - Threads: >8 MB
|
|
1037
|
-
* - Facebook: >10 MB
|
|
1038
|
-
* - LinkedIn: >8 MB
|
|
1039
|
-
* - TikTok: >20 MB
|
|
1040
|
-
* - Pinterest: >32 MB
|
|
1041
|
-
* - Reddit: >20 MB
|
|
1042
|
-
* - Snapchat: >20 MB
|
|
1043
|
-
* - Telegram: >10 MB
|
|
1044
|
-
* - Bluesky: >1 MB
|
|
1045
|
-
* - YouTube (thumbnails): >2 MB
|
|
1046
|
-
* - Google Business: >5 MB
|
|
1047
|
-
*
|
|
1048
|
-
* **Video compression by platform:**
|
|
1049
|
-
* - Twitter/X: >512 MB
|
|
1050
|
-
* - Instagram Stories: >100 MB
|
|
1051
|
-
* - Instagram Reels: >300 MB
|
|
1052
|
-
* - Facebook: >4 GB
|
|
1053
|
-
* - LinkedIn: >5 GB
|
|
1054
|
-
* - TikTok: >4 GB
|
|
1055
|
-
* - Pinterest: >2 GB
|
|
1056
|
-
* - Snapchat: >500 MB
|
|
1057
|
-
* - Telegram: >50 MB
|
|
1058
|
-
*
|
|
1059
|
-
* Note: Videos larger than 200 MB may not be compressed due to server timeout constraints. For best results, compress very large videos before uploading.
|
|
1031
|
+
* Late automatically compresses images and videos that exceed platform limits. Compression happens server-side during publishing. Videos larger than 200 MB may not be compressed due to server timeout constraints.
|
|
1060
1032
|
*
|
|
1061
1033
|
*/
|
|
1062
1034
|
type MediaItem = {
|
|
@@ -1591,27 +1563,11 @@ type RedditPlatformData = {
|
|
|
1591
1563
|
flairId?: string;
|
|
1592
1564
|
};
|
|
1593
1565
|
/**
|
|
1594
|
-
* Snapchat Public Profile
|
|
1595
|
-
*
|
|
1596
|
-
* **General Requirements:**
|
|
1597
|
-
* - Snapchat requires a Public Profile to publish content
|
|
1598
|
-
* - Media is required for all content types (no text-only posts)
|
|
1599
|
-
* - Only one media item per post is supported
|
|
1600
|
-
* - Media is automatically encrypted using AES-256-CBC before upload
|
|
1566
|
+
* Snapchat requires a Public Profile. Media is required for all content types (single item only, auto-encrypted before upload).
|
|
1601
1567
|
*
|
|
1602
|
-
* **Content
|
|
1603
|
-
* - **Story** (default): Ephemeral content visible for 24 hours. No caption/text supported.
|
|
1604
|
-
* - **Saved Story**: Permanent story on your Public Profile. Uses post content as title (max 45 chars).
|
|
1605
|
-
* - **Spotlight**: Video content for Snapchat's entertainment feed. Supports description (max 160 chars) with hashtags.
|
|
1568
|
+
* **Content types:** Story (ephemeral 24h, no caption), Saved Story (permanent, title max 45 chars), Spotlight (video, description max 160 chars).
|
|
1606
1569
|
*
|
|
1607
|
-
* **Media
|
|
1608
|
-
* - Images: max 20 MB, JPEG/PNG format
|
|
1609
|
-
* - Videos: max 500 MB, MP4 format, 5-60 seconds duration, minimum 540x960px resolution
|
|
1610
|
-
* - Aspect ratio: 9:16 recommended
|
|
1611
|
-
*
|
|
1612
|
-
* **Analytics:**
|
|
1613
|
-
* - Views, screenshots, shares, unique viewers, completion rate available
|
|
1614
|
-
* - Analytics are fetched per content type (story/saved_story/spotlight)
|
|
1570
|
+
* **Media limits:** Images max 20 MB (JPEG/PNG), videos max 500 MB (MP4, 5-60s, min 540x960px, 9:16 recommended).
|
|
1615
1571
|
*
|
|
1616
1572
|
*/
|
|
1617
1573
|
type SnapchatPlatformData = {
|
|
@@ -3311,35 +3267,11 @@ type GetConnectUrlData = {
|
|
|
3311
3267
|
*/
|
|
3312
3268
|
profileId: string;
|
|
3313
3269
|
/**
|
|
3314
|
-
*
|
|
3315
|
-
*
|
|
3316
|
-
* **Standard Mode:** Omit `headless=true` to use our hosted page selection UI.
|
|
3317
|
-
* After the user selects a Facebook Page, Late redirects here with:
|
|
3318
|
-
* `?connected=facebook&profileId=X&username=Y`
|
|
3270
|
+
* Your custom redirect URL after connection completes.
|
|
3319
3271
|
*
|
|
3320
|
-
* **
|
|
3321
|
-
* Pass `headless=true` as a query parameter on this endpoint (not inside `redirect_url`), e.g.:
|
|
3322
|
-
* `GET /v1/connect/facebook?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3323
|
-
* `GET /v1/connect/linkedin?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3324
|
-
* `GET /v1/connect/pinterest?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3325
|
-
* `GET /v1/connect/googlebusiness?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3326
|
-
* `GET /v1/connect/snapchat?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3272
|
+
* **Standard Mode:** After the user selects an account, Late redirects here with `?connected={platform}&profileId=X&username=Y`.
|
|
3327
3273
|
*
|
|
3328
|
-
* After OAuth, the user is redirected
|
|
3329
|
-
* - **Facebook:** `?profileId=X&tempToken=Y&userProfile=Z&connect_token=CT&platform=facebook&step=select_page`
|
|
3330
|
-
* - **LinkedIn:** `?profileId=X&pendingDataToken=TOKEN&connect_token=CT&platform=linkedin&step=select_organization`
|
|
3331
|
-
* Use `GET /v1/connect/pending-data?token=TOKEN` to fetch tempToken, userProfile, organizations, refreshToken.
|
|
3332
|
-
* - **Pinterest:** `?profileId=X&tempToken=Y&userProfile=Z&connect_token=CT&platform=pinterest&step=select_board`
|
|
3333
|
-
* - **Google Business:** `?profileId=X&tempToken=Y&userProfile=Z&connect_token=CT&platform=googlebusiness&step=select_location`
|
|
3334
|
-
* - **Snapchat:** `?profileId=X&tempToken=Y&userProfile=Z&publicProfiles=PROFILES&connect_token=CT&platform=snapchat&step=select_public_profile`
|
|
3335
|
-
* (publicProfiles contains `id`, `display_name`, `username`, `profile_image_url`, `subscriber_count`)
|
|
3336
|
-
*
|
|
3337
|
-
* Then use the respective endpoints to build your custom UI:
|
|
3338
|
-
* - Facebook: `/v1/connect/facebook/select-page` (GET to fetch, POST to save)
|
|
3339
|
-
* - LinkedIn: `/v1/connect/linkedin/organizations` (GET to fetch logos), `/v1/connect/linkedin/select-organization` (POST to save)
|
|
3340
|
-
* - Pinterest: `/v1/connect/pinterest/select-board` (GET to fetch, POST to save)
|
|
3341
|
-
* - Google Business: `/v1/connect/googlebusiness/locations` (GET) and `/v1/connect/googlebusiness/select-location` (POST)
|
|
3342
|
-
* - Snapchat: `/v1/connect/snapchat/select-profile` (POST to save selected public profile)
|
|
3274
|
+
* **Headless Mode:** Pass `headless=true` as a query parameter on this endpoint. After OAuth, the user is redirected to your URL with OAuth data (`profileId`, `tempToken`, `userProfile`, `connect_token`, `platform`, `step`). See the main endpoint description for details.
|
|
3343
3275
|
*
|
|
3344
3276
|
* Example: `https://yourdomain.com/integrations/callback`
|
|
3345
3277
|
*
|
|
@@ -6032,6 +5964,11 @@ type GetInboxPostCommentsData = {
|
|
|
6032
5964
|
path: {
|
|
6033
5965
|
/**
|
|
6034
5966
|
* 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).
|
|
5967
|
+
*
|
|
5968
|
+
* **LinkedIn:** For your own posts, the full URN stored in Late (e.g., `urn:li:share:7429218977714745345`) is used automatically.
|
|
5969
|
+
* For third-party posts, pass either the full activity URN (e.g., `urn:li:activity:7422459067685855232`) or the raw numeric activity ID from the LinkedIn URL (automatically wrapped as `urn:li:activity:`).
|
|
5970
|
+
* Note: LinkedIn post URLs use activity IDs (`linkedin.com/feed/update/urn:li:activity:XXXX`).
|
|
5971
|
+
*
|
|
6035
5972
|
*/
|
|
6036
5973
|
postId: string;
|
|
6037
5974
|
};
|
|
@@ -6166,6 +6103,9 @@ type ReplyToInboxPostData = {
|
|
|
6166
6103
|
path: {
|
|
6167
6104
|
/**
|
|
6168
6105
|
* The post identifier. Accepts a Late post ID or a platform-specific post ID.
|
|
6106
|
+
*
|
|
6107
|
+
* **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.
|
|
6108
|
+
*
|
|
6169
6109
|
*/
|
|
6170
6110
|
postId: string;
|
|
6171
6111
|
};
|
|
@@ -6188,6 +6128,9 @@ type DeleteInboxCommentData = {
|
|
|
6188
6128
|
path: {
|
|
6189
6129
|
/**
|
|
6190
6130
|
* The post identifier. Accepts a Late post ID or a platform-specific post ID.
|
|
6131
|
+
*
|
|
6132
|
+
* **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.
|
|
6133
|
+
*
|
|
6191
6134
|
*/
|
|
6192
6135
|
postId: string;
|
|
6193
6136
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1021,42 +1021,14 @@ type LinkedInPlatformData = {
|
|
|
1021
1021
|
};
|
|
1022
1022
|
/**
|
|
1023
1023
|
* Media referenced in posts. URLs must be publicly reachable over HTTPS by the destination platforms.
|
|
1024
|
-
* When using third
|
|
1024
|
+
* When using third-party storage, ensure signed links remain valid until upload completes.
|
|
1025
1025
|
*
|
|
1026
1026
|
* **Uploading Media:**
|
|
1027
1027
|
* Use `POST /v1/media/presign` to get a presigned URL, then upload your file directly to cloud storage.
|
|
1028
1028
|
* Supports files up to 5GB. See the `/v1/media/presign` endpoint documentation for details.
|
|
1029
1029
|
*
|
|
1030
1030
|
* **Automatic Media Compression:**
|
|
1031
|
-
* Late automatically compresses
|
|
1032
|
-
*
|
|
1033
|
-
* **Image compression by platform:**
|
|
1034
|
-
* - Twitter/X: >5 MB
|
|
1035
|
-
* - Instagram: >8 MB
|
|
1036
|
-
* - Threads: >8 MB
|
|
1037
|
-
* - Facebook: >10 MB
|
|
1038
|
-
* - LinkedIn: >8 MB
|
|
1039
|
-
* - TikTok: >20 MB
|
|
1040
|
-
* - Pinterest: >32 MB
|
|
1041
|
-
* - Reddit: >20 MB
|
|
1042
|
-
* - Snapchat: >20 MB
|
|
1043
|
-
* - Telegram: >10 MB
|
|
1044
|
-
* - Bluesky: >1 MB
|
|
1045
|
-
* - YouTube (thumbnails): >2 MB
|
|
1046
|
-
* - Google Business: >5 MB
|
|
1047
|
-
*
|
|
1048
|
-
* **Video compression by platform:**
|
|
1049
|
-
* - Twitter/X: >512 MB
|
|
1050
|
-
* - Instagram Stories: >100 MB
|
|
1051
|
-
* - Instagram Reels: >300 MB
|
|
1052
|
-
* - Facebook: >4 GB
|
|
1053
|
-
* - LinkedIn: >5 GB
|
|
1054
|
-
* - TikTok: >4 GB
|
|
1055
|
-
* - Pinterest: >2 GB
|
|
1056
|
-
* - Snapchat: >500 MB
|
|
1057
|
-
* - Telegram: >50 MB
|
|
1058
|
-
*
|
|
1059
|
-
* Note: Videos larger than 200 MB may not be compressed due to server timeout constraints. For best results, compress very large videos before uploading.
|
|
1031
|
+
* Late automatically compresses images and videos that exceed platform limits. Compression happens server-side during publishing. Videos larger than 200 MB may not be compressed due to server timeout constraints.
|
|
1060
1032
|
*
|
|
1061
1033
|
*/
|
|
1062
1034
|
type MediaItem = {
|
|
@@ -1591,27 +1563,11 @@ type RedditPlatformData = {
|
|
|
1591
1563
|
flairId?: string;
|
|
1592
1564
|
};
|
|
1593
1565
|
/**
|
|
1594
|
-
* Snapchat Public Profile
|
|
1595
|
-
*
|
|
1596
|
-
* **General Requirements:**
|
|
1597
|
-
* - Snapchat requires a Public Profile to publish content
|
|
1598
|
-
* - Media is required for all content types (no text-only posts)
|
|
1599
|
-
* - Only one media item per post is supported
|
|
1600
|
-
* - Media is automatically encrypted using AES-256-CBC before upload
|
|
1566
|
+
* Snapchat requires a Public Profile. Media is required for all content types (single item only, auto-encrypted before upload).
|
|
1601
1567
|
*
|
|
1602
|
-
* **Content
|
|
1603
|
-
* - **Story** (default): Ephemeral content visible for 24 hours. No caption/text supported.
|
|
1604
|
-
* - **Saved Story**: Permanent story on your Public Profile. Uses post content as title (max 45 chars).
|
|
1605
|
-
* - **Spotlight**: Video content for Snapchat's entertainment feed. Supports description (max 160 chars) with hashtags.
|
|
1568
|
+
* **Content types:** Story (ephemeral 24h, no caption), Saved Story (permanent, title max 45 chars), Spotlight (video, description max 160 chars).
|
|
1606
1569
|
*
|
|
1607
|
-
* **Media
|
|
1608
|
-
* - Images: max 20 MB, JPEG/PNG format
|
|
1609
|
-
* - Videos: max 500 MB, MP4 format, 5-60 seconds duration, minimum 540x960px resolution
|
|
1610
|
-
* - Aspect ratio: 9:16 recommended
|
|
1611
|
-
*
|
|
1612
|
-
* **Analytics:**
|
|
1613
|
-
* - Views, screenshots, shares, unique viewers, completion rate available
|
|
1614
|
-
* - Analytics are fetched per content type (story/saved_story/spotlight)
|
|
1570
|
+
* **Media limits:** Images max 20 MB (JPEG/PNG), videos max 500 MB (MP4, 5-60s, min 540x960px, 9:16 recommended).
|
|
1615
1571
|
*
|
|
1616
1572
|
*/
|
|
1617
1573
|
type SnapchatPlatformData = {
|
|
@@ -3311,35 +3267,11 @@ type GetConnectUrlData = {
|
|
|
3311
3267
|
*/
|
|
3312
3268
|
profileId: string;
|
|
3313
3269
|
/**
|
|
3314
|
-
*
|
|
3315
|
-
*
|
|
3316
|
-
* **Standard Mode:** Omit `headless=true` to use our hosted page selection UI.
|
|
3317
|
-
* After the user selects a Facebook Page, Late redirects here with:
|
|
3318
|
-
* `?connected=facebook&profileId=X&username=Y`
|
|
3270
|
+
* Your custom redirect URL after connection completes.
|
|
3319
3271
|
*
|
|
3320
|
-
* **
|
|
3321
|
-
* Pass `headless=true` as a query parameter on this endpoint (not inside `redirect_url`), e.g.:
|
|
3322
|
-
* `GET /v1/connect/facebook?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3323
|
-
* `GET /v1/connect/linkedin?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3324
|
-
* `GET /v1/connect/pinterest?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3325
|
-
* `GET /v1/connect/googlebusiness?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3326
|
-
* `GET /v1/connect/snapchat?profileId=PROFILE_ID&redirect_url=https://yourapp.com/callback&headless=true`
|
|
3272
|
+
* **Standard Mode:** After the user selects an account, Late redirects here with `?connected={platform}&profileId=X&username=Y`.
|
|
3327
3273
|
*
|
|
3328
|
-
* After OAuth, the user is redirected
|
|
3329
|
-
* - **Facebook:** `?profileId=X&tempToken=Y&userProfile=Z&connect_token=CT&platform=facebook&step=select_page`
|
|
3330
|
-
* - **LinkedIn:** `?profileId=X&pendingDataToken=TOKEN&connect_token=CT&platform=linkedin&step=select_organization`
|
|
3331
|
-
* Use `GET /v1/connect/pending-data?token=TOKEN` to fetch tempToken, userProfile, organizations, refreshToken.
|
|
3332
|
-
* - **Pinterest:** `?profileId=X&tempToken=Y&userProfile=Z&connect_token=CT&platform=pinterest&step=select_board`
|
|
3333
|
-
* - **Google Business:** `?profileId=X&tempToken=Y&userProfile=Z&connect_token=CT&platform=googlebusiness&step=select_location`
|
|
3334
|
-
* - **Snapchat:** `?profileId=X&tempToken=Y&userProfile=Z&publicProfiles=PROFILES&connect_token=CT&platform=snapchat&step=select_public_profile`
|
|
3335
|
-
* (publicProfiles contains `id`, `display_name`, `username`, `profile_image_url`, `subscriber_count`)
|
|
3336
|
-
*
|
|
3337
|
-
* Then use the respective endpoints to build your custom UI:
|
|
3338
|
-
* - Facebook: `/v1/connect/facebook/select-page` (GET to fetch, POST to save)
|
|
3339
|
-
* - LinkedIn: `/v1/connect/linkedin/organizations` (GET to fetch logos), `/v1/connect/linkedin/select-organization` (POST to save)
|
|
3340
|
-
* - Pinterest: `/v1/connect/pinterest/select-board` (GET to fetch, POST to save)
|
|
3341
|
-
* - Google Business: `/v1/connect/googlebusiness/locations` (GET) and `/v1/connect/googlebusiness/select-location` (POST)
|
|
3342
|
-
* - Snapchat: `/v1/connect/snapchat/select-profile` (POST to save selected public profile)
|
|
3274
|
+
* **Headless Mode:** Pass `headless=true` as a query parameter on this endpoint. After OAuth, the user is redirected to your URL with OAuth data (`profileId`, `tempToken`, `userProfile`, `connect_token`, `platform`, `step`). See the main endpoint description for details.
|
|
3343
3275
|
*
|
|
3344
3276
|
* Example: `https://yourdomain.com/integrations/callback`
|
|
3345
3277
|
*
|
|
@@ -6032,6 +5964,11 @@ type GetInboxPostCommentsData = {
|
|
|
6032
5964
|
path: {
|
|
6033
5965
|
/**
|
|
6034
5966
|
* 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).
|
|
5967
|
+
*
|
|
5968
|
+
* **LinkedIn:** For your own posts, the full URN stored in Late (e.g., `urn:li:share:7429218977714745345`) is used automatically.
|
|
5969
|
+
* For third-party posts, pass either the full activity URN (e.g., `urn:li:activity:7422459067685855232`) or the raw numeric activity ID from the LinkedIn URL (automatically wrapped as `urn:li:activity:`).
|
|
5970
|
+
* Note: LinkedIn post URLs use activity IDs (`linkedin.com/feed/update/urn:li:activity:XXXX`).
|
|
5971
|
+
*
|
|
6035
5972
|
*/
|
|
6036
5973
|
postId: string;
|
|
6037
5974
|
};
|
|
@@ -6166,6 +6103,9 @@ type ReplyToInboxPostData = {
|
|
|
6166
6103
|
path: {
|
|
6167
6104
|
/**
|
|
6168
6105
|
* The post identifier. Accepts a Late post ID or a platform-specific post ID.
|
|
6106
|
+
*
|
|
6107
|
+
* **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.
|
|
6108
|
+
*
|
|
6169
6109
|
*/
|
|
6170
6110
|
postId: string;
|
|
6171
6111
|
};
|
|
@@ -6188,6 +6128,9 @@ type DeleteInboxCommentData = {
|
|
|
6188
6128
|
path: {
|
|
6189
6129
|
/**
|
|
6190
6130
|
* The post identifier. Accepts a Late post ID or a platform-specific post ID.
|
|
6131
|
+
*
|
|
6132
|
+
* **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.
|
|
6133
|
+
*
|
|
6191
6134
|
*/
|
|
6192
6135
|
postId: string;
|
|
6193
6136
|
};
|