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
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
YouTube posts now support adding a video to a playlist via playlistId in YouTubePlatformData.

Use the new playlist endpoints to discover playlist IDs and (optionally) store a client-side default for an account.

New endpoints:
GET /v1/accounts/{accountId}/youtube-playlists → returns playlists[] and defaultPlaylistId
PUT /v1/accounts/{accountId}/youtube-playlists with defaultPlaylistId (optional defaultPlaylistName)

New field:
platformSpecificData.youtube.playlistId (string) — optional playlist to add the video to after upload

View documentation
🔥21
YouTube metadata updates now support setting a custom thumbnail via POST /v1/posts/{postId}/update-metadata.

You can update the thumbnail without re-uploading, including for existing videos not published through Zernio (direct video ID mode).

Use thumbnailUrl (public image URL) with platform youtube. In direct mode also include videoId + accountId.

Key params: platform (youtube), thumbnailUrl, videoId, accountId

View documentation
🔥2🥰1
YouTube metadata updates now support additional fields on POST /v1/posts/{postId}/update-metadata.

You can now set COPPA compliance, disclose AI/synthetic media, and add a video to a playlist without re-uploading.

New optional properties:
madeForKids (boolean)
containsSyntheticMedia (boolean)
playlistId (string)

View documentation
🔥2
4 new Inbox APIs just shipped

1. Contacts
Auto-created from every DM across all your connected accounts. Add tags, custom fields, bulk import.

POST /v1/contacts · POST /v1/contacts/bulk · GET /v1/contacts · GET /v1/contacts/:id · PATCH /v1/contacts/:id · DELETE /v1/contacts/:id

2. Broadcasts
Send one message to thousands of contacts. Segment by tag or custom field. Supports Instagram, Facebook, Telegram, WhatsApp, Twitter, Bluesky, Reddit. Schedule or send immediately. Real-time delivery + read tracking.

POST /v1/broadcasts · POST /v1/broadcasts/:id/send · POST /v1/broadcasts/:id/schedule · POST /v1/broadcasts/:id/cancel · POST /v1/broadcasts/:id/recipients

3. Sequences
Drip campaigns for social DMs. Set delays between steps (hours, days). Auto-exit on reply or unsubscribe.

POST /v1/sequences · POST /v1/sequences/:id/activate · POST /v1/sequences/:id/pause · POST /v1/sequences/:id/enroll · GET /v1/sequences/:id/enrollments

4. Comment Automations
Set a keyword on any Instagram or Facebook post. When someone comments it, they get a DM instantly. Add an optional public reply too.

POST /v1/comment-automations · GET /v1/comment-automations/:id/logs

All official platform APIs. Requires the Inbox add-on.

https://docs.zernio.com/
3🔥3👎1👏1😁1
YouTube analytics now supports audience demographics via GET /v1/analytics/youtube/demographics.

Fetch demographic insights for a YouTube channel broken down by age/gender (percentages) and country (view counts). Requires the Analytics add-on and YouTube Analytics scope.

Key params:
accountId (required)
breakdown = age, gender, country (comma-separated; defaults to all)
startDate, endDate

WhatsApp now supports Flows (create/manage/publish and send interactive flow messages).

Manage flows:
GET /v1/whatsapp/flows (accountId)
POST /v1/whatsapp/flows (accountId, name, categories, optional cloneFlowId)
GET /v1/whatsapp/flows/{flowId} (accountId, optional fields)
PATCH /v1/whatsapp/flows/{flowId} (accountId, name/categories; DRAFT only)
DELETE /v1/whatsapp/flows/{flowId} (accountId; DRAFT only)

Flow JSON asset:
GET /v1/whatsapp/flows/{flowId}/json (accountId)
PUT /v1/whatsapp/flows/{flowId}/json (accountId, flow_json; DRAFT only)

Lifecycle:
POST /v1/whatsapp/flows/{flowId}/publish (accountId; irreversible)
POST /v1/whatsapp/flows/{flowId}/deprecate (accountId; irreversible)

Send a flow message:
POST /v1/whatsapp/flows/send with accountId, to, flow_id, flow_cta, body
• Optional flow_action = navigate | data_exchange, flow_token, flow_action_payload, draft

View documentation
2👎1🔥1👏1
New Google Business Profile analytics endpoints are available.

Fetch daily performance metrics (impressions, clicks, calls, directions, etc.) via GET /v1/analytics/googlebusiness/performance. Requires accountId and the Analytics add-on; data may be delayed 2–3 days; up to 18 months history.

Key params:
accountId (required)
metrics (comma-separated; defaults to all): BUSINESS_IMPRESSIONS_DESKTOP_MAPS, BUSINESS_IMPRESSIONS_DESKTOP_SEARCH, BUSINESS_IMPRESSIONS_MOBILE_MAPS, BUSINESS_IMPRESSIONS_MOBILE_SEARCH, BUSINESS_CONVERSATIONS, BUSINESS_DIRECTION_REQUESTS, CALL_CLICKS, WEBSITE_CLICKS, BUSINESS_BOOKINGS, BUSINESS_FOOD_ORDERS, BUSINESS_FOOD_MENU_CLICKS
startDate, endDate (YYYY-MM-DD)

Fetch monthly search keywords via GET /v1/analytics/googlebusiness/search-keywords. Requires accountId and the Analytics add-on; up to 18 months history.

Key params:
accountId (required)
startMonth, endMonth (YYYY-MM)

Note: keywords below Google’s minimum impression threshold are excluded.

View documentation
🔥21
You can now edit a published X (Twitter) post via POST /v1/posts/{postId}/edit.

This updates the post on X and stores edit history in Zernio. X constraints apply (Premium required, 1-hour edit window, max 5 edits, text-only).

Request body:
platform: twitter
content: new text

Response includes:
id (new tweet ID after edit)
url

You can now start/send X DMs via POST /v1/inbox/conversations.

If a thread already exists, the message is appended. If the recipient doesn’t accept DMs, you’ll get 422 with code=DM_NOT_ALLOWED (or bypass the pre-check with skipDmCheck).

Key fields:
accountId
participantId or participantUsername
message (or attachment via multipart/form-data)
skipDmCheck

Also added:
• Root-level facebookSettings on POST /v1/posts and PUT /v1/posts/{postId} (e.g. facebookSettings.draft=true to create an unpublished draft in Facebook Publishing Tools)
TwitterPlatformData.longVideo=true to enable long video uploads (requires X Premium; may require allowlisting).

View documentation
2🔥2💯1
Facebook now supports posting an optional first comment for Reels as well as feed posts.

Use platformSpecificData.facebook.firstComment to add a comment immediately after publishing (not supported for contentType=story). Skipped when draft is true.

Applies when contentType is reel (or omitted for feed posts).

View documentation
🔥3