Zernio | Developer News
708 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
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
The Inbox API now supports Twitter/X for conversations, comments, and comment interactions.

Conversations (GET /v1/inbox/conversations):
Filter by platform=twitter to fetch Twitter/X DMs.

Comments (GET /v1/inbox/comments):
Twitter/X posts with replies are now included. Also added Threads support for comments listing.

Like/Unlike comments:
POST and DELETE /v1/inbox/comments/{postId}/{commentId}/like now work with Twitter/X replies.

View documentation
🔥2
New endpoints for Google Business Profile food menus:

GET /v1/accounts/{accountId}/gmb-food-menus
Fetch the full menu structure for a connected GBP location.

PUT /v1/accounts/{accountId}/gmb-food-menus
Update food menus with sections, items, pricing, dietary info, and allergens.

Menu items support:
price with currency code
dietaryRestriction - VEGETARIAN, VEGAN, GLUTEN_FREE, etc.
allergen - DAIRY, GLUTEN, SHELLFISH, etc.
spiciness, servesNumPeople, preparationMethods

Only available for GBP locations with food menu support (restaurants, cafes, etc.).

Also: PostAnalytics now includes saves for tracking bookmarks on Instagram and Pinterest.

View documentation
1
Yesterday we released the Unified Inbox API

You can now handle comments, DMs and reviews from the API.

DMs docs
Comments docs
Reviews docs

Each platform supports different features. You can check out this matrix to find out which supports what.
1
New Google Business Profile endpoints are now available for managing your GMB listings programmatically.

Location Details (/v1/accounts/{accountId}/gmb-location-details)
GET/PUT to read and update business hours, special hours, description, phone numbers, and website. Use readMask and updateMask to specify fields.

Media (/v1/accounts/{accountId}/gmb-media)
GET/POST/DELETE to manage photos. Upload via public URL with categories:
COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL

Attributes (/v1/accounts/{accountId}/gmb-attributes)
GET/PUT to manage amenities and services like has_delivery, has_takeout, has_outdoor_seating, has_wifi, payment types, etc.

Place Actions (/v1/accounts/{accountId}/gmb-place-actions)
GET/POST/DELETE to manage booking and ordering buttons. Types include:
APPOINTMENT, DINING_RESERVATION, FOOD_ORDERING, FOOD_DELIVERY, FOOD_TAKEOUT, SHOP_ONLINE

View documentation
🔥1
Added 2 new endpoints:

GET /v1/posts/logs - Get publishing logs
GET /v1/connections/logs - Get connection logs

View documentation
2
New: Interactive messaging across Instagram, Facebook, and Telegram

You can now send buttons, quick replies, and carousels through the Inbox API. Same endpoint, all three platforms.

What's new:
• Quick replies on Instagram, Facebook, and Telegram
• Buttons (URL, postback) on Instagram, Facebook, and Telegram
• Generic templates (carousels) on Instagram, Facebook, and Telegram
• Reply markup and message editing on Telegram
• File attachments on Instagram DMs (images, videos, audio)
• Webhook events for button taps, quick replies, and postbacks

Two new Telegram-specific endpoints:
• Manage bot menu commands
• Edit sent messages and reply markup

View documentation
🔥2👍1
Instagram conversations now include optional participant profile context via instagramProfile.

This lets you show follower/verification info (and follower count) alongside DMs, and use it in routing/automation.

Added to:
GET /v1/inbox/conversationsdata[].instagramProfile
GET /v1/inbox/conversations/{conversationId}data.instagramProfile

Fields:
isFollower, isFollowing, followerCount, isVerified, fetchedAt

Webhook update:
WebhookPayloadMessage.message.sender.instagramProfile (Instagram only) with isFollower, isFollowing, followerCount, isVerified.

View documentation
4
Reddit posting now supports post flairs via flairId in platformSpecificData.

Some subreddits require a flair; you can now fetch available flairs and set the one you want on the post.

New endpoint: GET /v1/accounts/{accountId}/reddit-flairs
Required query: subreddit (without r/)

New field: platformSpecificData.reddit.flairId (string)
If omitted, the API will attempt to use the first available flair as a fallback.

View documentation
3🔥1