Zernio | Developer News
710 subscribers
1 photo
1 video
534 links
This channel is for recurrent updates and announcements on https://zernio.com.

Zernio is a Social API for Posting and Analytics on 14 platforms.
Download Telegram
YouTube now supports AI-generated content disclosure via containsSyntheticMedia in YouTubePlatformData.

Set containsSyntheticMedia to true if your video contains AI-generated or synthetic content that could be mistaken for real people, places, or events. YouTube may add a label to videos when this is set.

View documentation
5🥰1
The endpoint POST /v1/profiles/{profileId}/clone-connection has been removed. This endpoint was used to clone an existing connection to a profile, allowing users to manage multiple brands with the same underlying social media account.

View documentation
2👀2
Late now automatically compresses media that exceeds platform limits during publishing, simplifying the upload process.

Image compression thresholds are set for platforms like Twitter/X: >5 MB, Instagram: >8 MB, Facebook: >10 MB, and more.

Video compression thresholds include Twitter/X: >512 MB, Instagram Stories: >100 MB, Facebook: >4 GB, among others.

View documentation
5🔥5
YouTube daily views breakdown is now available via GET /v1/analytics/youtube/daily-views. This endpoint returns historical daily view counts for a specific YouTube video, including views, watch time, and subscriber changes. Required parameters include videoId and accountId, with optional date range parameters startDate and endDate.

View documentation
3👍2
New webhook event: account.connected

You can now subscribe to notifications when a social account is connected to a profile. The webhook payload includes accountId, profileId, platform, username, and displayName.

Add it to your events array when creating or updating webhooks.

View documentation
🔥1👏1
Instagram Reels now support thumbnail offset selection via thumbOffset in platformSpecificData.

Specify a millisecond offset from the start of the video to use as the Reel cover image. Defaults to 0 (first frame).

thumbOffset: integer, minimum 0 (milliseconds)

If you provide a custom thumbnail URL via instagramThumbnail in mediaItems, it takes priority and this offset is ignored.

View documentation
2🔥2
LinkedIn headless OAuth flow updated

LinkedIn headless mode now uses a token-based approach to retrieve OAuth data, preventing URI_TOO_LONG errors for users with many organizations.

What changed:
After OAuth redirect, you now receive pendingDataToken instead of tempToken, userProfile, and organizations in the URL.

Call the new endpoint to fetch the data:
GET /v1/connect/pending-data?token=PENDING_DATA_TOKEN

Returns: tempToken, refreshToken, expiresIn, userProfile, organizations, selectionType

Important:
• One-time use: data is deleted after fetching
• Data expires after 10 minutes if not fetched
• No authentication required, just the token

Other platforms (Facebook, Pinterest, Google Business, Snapchat) are unchanged.

The old flow still works and is not broken. Migrate to the new flow if you want to prevent the URI_TOO_LONG error for users with many orgs.

View documentation
2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
We turned our API docs into a Claude Code skill.

$ npx skills add getlate-dev/late-api

Ask Claude to schedule posts, connect accounts, set up webhooks - it knows everything about the Late API now 😎
👍3🔥32
Analytics responses now include latePostId field.

When an external post originated from a Late-scheduled post, the response now includes the original Late Post ID directly. This makes it easier to correlate analytics data with posts created via POST /v1/posts.

The field appears in both single post queries and paginated list responses. It's null for posts that weren't scheduled through Late.

View documentation
🔥4
YouTube uploads now support madeForKids in platformSpecificData.youtube.

This COPPA compliance field declares whether your video is child-directed content. Defaults to false.

Set to true if your video is made for kids. Note: kid-directed videos have restricted features (no comments, no notifications, limited ad targeting).

View documentation
3🔥1
POST /v1/posts now returns 409 Conflict when duplicate content is detected.

If you post identical content to the same account within 24 hours, you'll get:
{
"error": "This exact content was already posted...",
"details": {
"accountId": "...",
"platform": "...",
"existingPostId": "..."
}
}


Additionally, 429 responses now include detailed context about which limit was hit:
Velocity limit: 15 posts/hour per account
Account cooldown: Escalating delays (10min → 24h) after repeated errors
Daily post limits: Platform-specific (X: 20, Pinterest: 25, Instagram/Facebook: 100, Threads: 250, others: 50)

New headers on 429: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining

These changes also apply to POST /v1/posts/bulk-upload and POST /v1/posts/{postId}/retry.

View documentation
🔥2👍1
New endpoints for managing Facebook Pages and Google Business Profile locations.

GET /v1/accounts/{accountId}/facebook-page
List all Facebook pages the connected account can access, see which one is currently selected.

GET /v1/accounts/{accountId}/gmb-locations
List all Google Business Profile locations available to the account.

PUT /v1/accounts/{accountId}/gmb-locations
Change the selected GBP location by passing selectedLocationId in the request body.

Useful if you manage multiple pages/locations and need to switch between them programmatically.

View documentation
🔥4
New endpoint: POST /v1/inbox/comments/{postId}/{commentId}/private-reply

Send a private DM to the author of a comment on your Instagram post. Useful for handling customer inquiries or sensitive matters privately.

Required body:
accountId - Instagram social account ID
message - text to send as DM

Limitations:
• Instagram only (not available on other platforms)
• One private reply per comment
• Must be sent within 7 days of the comment
• Only works for comments on posts you own
• Requires the Inbox addon

View documentation
🔥43
Multi-page/multi-location posting is now supported for Facebook, LinkedIn, and Google Business.

You can now post to multiple pages, organizations, or locations from a single account connection by using the same accountId multiple times with different targets in platformSpecificData:

• Facebook: pageId - post to multiple Pages
• LinkedIn: organizationUrn - post to multiple organizations
• Google Business: locationId - post to multiple locations

List available targets via:
GET /v1/accounts/{id}/facebook-page
GET /v1/accounts/{id}/linkedin-organizations
GET /v1/accounts/{id}/gmb-locations

Also: content is now optional when media is attached or all platforms have customContent set.

View documentation
🔥21👏1
New open-source project: LateWiz 🪄

Built an open-source social media scheduler on top of the Late SDK in ~4 hours using Claude Code.

What it does:
1. Plug in your Late API key
2. Get a dashboard to post and connect accounts
3. That's it

Why this matters for you:
→ Fork it, extend it, make it yours
→ Reference implementation for Late SDK
→ See how little code you actually need

Check it out: https://latewiz.com
Github repo: https://github.com/getlate-dev/latewiz
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉3🤯21
YouTube uploads now support video categories via the new categoryId field in platformSpecificData.

You can now specify which category your video belongs to. Defaults to 22 (People & Blogs) if not set.

Common category IDs:
1 - Film & Animation
10 - Music
20 - Gaming
24 - Entertainment
27 - Education
28 - Science & Technology

View documentation
3
The PlatformTarget schema now includes detailed error information when posts fail to publish.

Three new fields are available:

errorMessage - Human-readable explanation of why the publish failed

errorCategory - Programmatic category for handling:
auth_expired - token expired, reconnect needed
user_content - content doesn't meet platform requirements
user_abuse - rate limits or spam detection
account_issue - account configuration problems
platform_rejected - policy violation
platform_error - platform-side issues
system_error - Late infrastructure issues
unknown - unclassified

errorSource - Who caused the error:
user - user action required
platform - platform-side issue
system - Late system issue

These fields are populated when a platform's status is failed. Posts with mixed results now return status: "partial" at the post level.

View documentation
🔥21
The GET /v1/analytics endpoint now supports a source query parameter to filter posts by origin.

Values:
late - only posts scheduled/published via Late API
external - only posts synced from the platform (not posted via Late)
all - all posts (default)

This makes it easier to separate analytics for posts you scheduled through Late from posts that were published directly on the platform.

View documentation
🔥21
We've added 6 new language SDKs:

• Go → go get github.com/getlate-dev/late-go
• Ruby → gem install late
• PHP → composer require getlate-dev/late-php
• NET → dotnet add package Late
• Rust → cargo add late
• Java → JitPack (<https://jitpack.io/#getlate-dev/late-java|setup guide>)

Link to all SDKs
🔥21