Zernio | Developer News
707 subscribers
1 photo
1 video
522 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
Posts can now be recycled (auto-reposted on a schedule) via recycling on POST /v1/posts and PUT /v1/posts/{postId}.

After the original post is published, Late will create new scheduled copies at a weekly/monthly interval until an expiration condition is met.

Configure with recycling:
gap (int)
gapFreq: week | month
startDate (date-time, optional)
expireCount (int, optional)
expireDate (date-time, optional)
contentVariations (string[], optional)

Webhooks: a new event post.recycled is available in POST/PUT /v1/webhooks/settings and filterable in GET /v1/webhooks/logs.

View documentation
🔥3
GET /v1/connect/{platform} redirect behavior now includes accountId in standard mode.

After a successful connect, Late’s standard redirect to redirect_url now appends ?connected={platform}&profileId=X&accountId=Y&username=Z (previously no accountId).

In headless mode (headless=true), the redirect includes raw OAuth data only when a post-OAuth selection step is required (e.g. LinkedIn orgs, Facebook pages). If no selection is needed, the account is created directly and the redirect includes accountId.

View documentation
🔥1
New endpoint GET /v1/accounts/{accountId}/linkedin-post-reactions returns who reacted to a LinkedIn post, including reactor profile details.

Currently supported only for organization/company page accounts (personal profile reaction data is restricted by LinkedIn).

Required params: accountId (path), urn (query, LinkedIn post URN)
Optional: limit (1-100, default 25), cursor

Response includes reactions[] with reactionType (LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, ENTERTAINMENT), reactedAt, and from (name, headline, profileUrl), plus pagination.

View documentation
🔥2
Twitter posts now support replying to an existing tweet via replyToTweetId in TwitterPlatformData.

Set replyToTweetId to publish the first tweet (or the root of a thread) as a reply; subsequent thread items chain normally.

replySettings also adds verified (now: following, mentionedUsers, subscribers, verified). Note: replySettings cannot be combined with replyToTweetId.

View documentation
2
GBP endpoints now support overriding the target location via optional locationId.

This lets you fetch/update reviews, media, attributes, place actions, food menus, and location details for a specific GBP location without changing the account’s selected location.

Use locationId (query) on:
GET /v1/accounts/{accountId}/gmb-reviews
GET/PUT /v1/accounts/{accountId}/gmb-food-menus
GET/PUT /v1/accounts/{accountId}/gmb-location-details
GET/POST/DELETE /v1/accounts/{accountId}/gmb-media
GET/PUT /v1/accounts/{accountId}/gmb-attributes
GET/POST/DELETE /v1/accounts/{accountId}/gmb-place-actions

View documentation
2👏1
The GET /v1/usage-stats response now includes billingAnchorDay.

Use billingAnchorDay (1–31) to determine the day of the month when the billing cycle resets, which can help align usage tracking and reset expectations.

View documentation
2👏1
GET /v1/analytics now returns richer media metadata for analytics results.

You can render previews and handle carousels consistently using the new fields on both single-post and list responses.

New fields:
thumbnailUrl
mediaType = image | video | gif | document | carousel | text (single-post also supports image | video | carousel | text)
mediaItems (array of { type: image|video, url, thumbnail }; carousel posts include one entry per slide)

View documentation
🥰1
Late API now supports X/Twitter engagement actions: retweet, bookmark, and follow (plus undo/remove/unfollow).

Use:
• Retweet: POST /v1/twitter/retweet with accountId, tweetId
• Undo retweet: DELETE /v1/twitter/retweet with accountId, tweetId
• Bookmark: POST /v1/twitter/bookmark with accountId, tweetId
• Remove bookmark: DELETE /v1/twitter/bookmark with accountId, tweetId
• Follow: POST /v1/twitter/follow with accountId, targetUserId (response may include pending_follow for protected accounts)
• Unfollow: DELETE /v1/twitter/follow with accountId, targetUserId

Inbox comment moderation also adds X/Twitter support:
POST /v1/inbox/comments/{postId}/{commentId}/hide
DELETE /v1/inbox/comments/{postId}/{commentId}/hide
For X/Twitter, the reply must be in a conversation started by the authenticated user and requires tweet.moderate.write + X API Basic tier (or higher). Bookmark/follow also require bookmark.write / follows.write scopes, and X API Basic tier (or higher).

View documentation
1🔥1
GET /v1/analytics now supports richer analytics sync states and more sorting options.

Single-post lookups can return 202 when analytics sync is still pending, or 424 when analytics are unavailable because the post failed on all platforms.

Key changes:
• Date defaults/limits: fromDate defaults to 90 days ago, toDate defaults to today, max range 366 days
• Sorting: sortBy now supports date, engagement, impressions, reach, likes, comments, shares, saves, clicks, views
• Single post response adds latePostId, syncStatus (synced/pending/partial/unavailable) and message; status can be published/failed/partial
• Per-platform analytics now include syncStatus (synced/pending/unavailable), platformPostUrl, and errorMessage; analytics may be null
• List responses add posts[].latePostId, posts[].profileId, and overview.dataStaleness

View documentation
🔥2🥰1
Channel name was changed to «Zernio | Developer News»
Late is now Zernio.

New name. Same API. Same mission: one integration to publish across Instagram, TikTok, LinkedIn, YouTube, X, Facebook, WhatsApp, and 6 more platforms.

What changes:
getlate.dev permanently redirects to zernio.com
• New name, new domain, new look

What doesn't change:
• Your API keys, endpoints, and integrations all keep working
• Zero code changes required
• Same team, same support, same reliability

Why rebrand?
"Late" is a common English word. That made us nearly impossible to search for, hard to recommend by name, and easy to confuse. Zernio is distinctive, memorable, and ours.

Watch the announcement: zernio.com/rebrand

Spotted something off during the transition? Hit us up in the support chat. We're monitoring everything closely.

Thanks for building with us ✌️
🔥53👏2
New endpoint: GET /v1/accounts/{accountId}/tiktok/creator-info.

You can now fetch TikTok creator details plus the allowed posting options for an account (privacy levels, interaction settings, posting limits, and commercial content disclosures). Useful for validating post settings before publishing.

Key params:
accountId (path)
mediaType (query, default video): video, photo

Also added to TikTokPlatformData for video posts: videoCoverImageUrl (custom thumbnail URL). When set, it overrides videoCoverTimestampMs.

View documentation
🔥31
TikTok video posts now support a custom cover image via videoCoverImageUrl in TikTokPlatformData.

Provide a thumbnail image URL (JPG/PNG/WebP, max 20MB). When set, it overrides videoCoverTimestampMs.

Use:
videoCoverImageUrl - custom thumbnail image URL
videoCoverTimestampMs - frame timestamp (ms), ignored if videoCoverImageUrl is provided

View documentation
🔥41
Instagram Analytics now supports account-level insights and audience demographics.

Fetch account performance totals or daily reach via GET /v1/analytics/instagram/account-insights.
Key params: accountId (required), metrics, since, until, metricType (time_series | total_value), breakdown (total_value only). Note: time_series only works with reach. Max range: 90 days (default last 30). Data may be delayed up to 48 hours. Requires Analytics add-on.

Fetch audience breakdowns via GET /v1/analytics/instagram/demographics.
Key params: accountId (required), metric (follower_demographics | engaged_audience_demographics), breakdown (age, city, country, gender), timeframe (this_week | this_month). Requires 100+ followers, returns top 45 per dimension, and may be delayed up to 48 hours. Requires Analytics add-on.

View documentation
🔥4
You can now send inbox attachments by URL when calling POST /v1/inbox/conversations/{conversationId}/messages (JSON body), without using multipart upload.

Provide attachmentUrl (publicly accessible) and optionally attachmentType (image, video, audio, file).

Twitter posts now support polls via TwitterPlatformData.poll.

Set poll.options (2-4 items, max 25 chars each) and poll.duration_minutes (5-10080). Polls are mutually exclusive with media attachments and threads.

View documentation
1🔥1
Analytics endpoints now support filtering by social account via accountId.

This lets you scope results to a specific connected account (useful when a profileId contains multiple accounts).

New query parameter:
GET /v1/analytics: accountId
GET /v1/analytics/daily-metrics: accountId

View documentation
🔥4
Threads posts now support an explicit topic tag via platformSpecificData.topic_tag.

Use this to categorize posts for discoverability on Threads; when provided, it overrides auto-extraction from content hashtags.

Set topic_tag (string):
• 1–50 characters
• cannot contain . or &

View documentation
👍1🔥1
Zernio now supports WhatsApp Business 😎

Build full WhatsApp integrations in 2 minutes.

Messaging
• Send text, images, video, audio, documents, stickers, contacts, and locations
• Interactive messages with buttons, lists, and CTA URLs
• Reactions and read receipts
• 24-hour conversation window handled automatically: freeform messages when open, template messages when not

Campaigns & Broadcasts
• Create and schedule broadcast campaigns to contact lists
• Per-recipient variable substitution for personalized templates
• Drip sequences with configurable delays between steps
• Real-time delivery stats: sent, delivered, read, failed

Template Management
• Create custom templates or use Meta's pre-approved library templates
• Full CRUD: create, update, delete, list
• Support for header media (image, video, document), body variables, buttons, and footers

Contact Management
• Import, group, and manage contacts via API
• Bulk operations for large lists

Phone Numbers
• Purchase and provision numbers directly through the API ($2/mo)
• Pre-verified number pool (skip OTP entirely)
• Manage business profile, display name, and profile photo


Requires de Inbox add-on. No markup on Meta's per-conversation pricing.

Docs: docs.zernio.com/platforms/whatsapp
🔥41
New endpoint: POST /v1/posts/{postId}/update-metadata to update metadata on an already-published post without re-uploading media.

Currently supported for YouTube videos only; the post must be published on the target platform and you must provide at least one updatable field.

Request body: platform (youtube) plus any of title, description, tags, categoryId, privacyStatus (public | private | unlisted).

View documentation
1🔥1
POST /v1/posts/{postId}/update-metadata now supports updating YouTube video metadata even if the video was uploaded outside Zernio.

Use one of two modes:
• Post-based: call with the real {postId} and platform
• Direct video ID: set {postId} to _ and include videoId + accountId + platform

Key params:
platform: youtube
videoId (direct mode)
accountId (direct mode)

In direct mode, the 200 response may include videoId.

View documentation
🔥1
📡 New API Endpoints

POST /v1/inbox/conversations/{id}/typing
→ Typing indicators (Facebook Messenger, Telegram)

DELETE /v1/inbox/conversations/{id}/messages/{msgId}
→ Delete messages (Telegram, X, Bluesky, Reddit)

POST/DELETE /v1/inbox/conversations/{id}/messages/{msgId}/reactions
→ Emoji reactions (Telegram, WhatsApp)

docs.zernio.com
👍1🔥1