CLI
Schedule posts, manage inbox, broadcasts, sequences, and automations across 14 platforms from the terminal. Built for developers and AI agents.
Schedule posts, manage inbox, broadcasts, sequences, and automations across 14 platforms from the terminal. Built for developers and AI agents. Outputs JSON by default.
Setup
Install the CLI
npm install -g @zernio/cliAuthenticate
zernio auth:loginThis opens your browser where you can authorize the CLI. An API key is created automatically and saved to ~/.zernio/config.json.
You can optionally set a custom device name:
zernio auth:login --device-name "my-server"Running auth:login again from the same device replaces the existing key (no duplicates).
zernio auth:set --key "sk_your-api-key"Get your API key from zernio.com/dashboard/api-keys.
Verify Setup
zernio auth:checkThis should confirm your API key is valid and display your account info.
Quick Example
# Schedule a post for tomorrow at 9am
zernio posts:create \
--text "Hello from the Zernio CLI!" \
--accounts <accountId1>,<accountId2> \
--scheduledAt "2025-06-01T09:00:00Z"
# List your DM conversations
zernio inbox:conversations --platform instagram --pretty
# Create a broadcast and send it
zernio broadcasts:create --profileId <id> --accountId <id> --platform instagram --name "Summer Sale" --message "Check out our deals!"
zernio broadcasts:add-recipients <broadcastId> --useSegment
zernio broadcasts:send <broadcastId>Commands
All commands output JSON by default (built for piping and AI agents); add --pretty for indented output. 371 commands across 47 groups.
ads:create-ctwa).Authentication
| Command | Description |
|---|---|
zernio auth:check | Verify API key works |
zernio auth:login | Log in via browser (device authorization flow) |
zernio auth:set | Save API key to ~/.zernio/config.json |
Profiles
| Command | Description |
|---|---|
zernio profiles:create | Create a new profile |
zernio profiles:delete <id> | Delete a profile |
zernio profiles:get <id> | Get profile details |
zernio profiles:list | List all profiles |
zernio profiles:update <id> | Update a profile |
Accounts
| Command | Description |
|---|---|
zernio accounts:batch-get-google-business-reviews <accountId> | Batch get reviews |
zernio accounts:delete <id> | Disconnect (delete) an account |
zernio accounts:delete-google-business-review-reply <accountId> <reviewId> | Delete a review reply |
zernio accounts:follower-stats | Get follower stats across accounts |
zernio accounts:get <id> | Get account details |
zernio accounts:get-google-business-reviews <accountId> | Get reviews |
zernio accounts:get-linked-in-mentions <accountId> | Resolve LinkedIn mention |
zernio accounts:health | Check health of all connected accounts |
zernio accounts:list | List connected social accounts |
zernio accounts:move <id> | Move an account to another profile |
zernio accounts:reply-to-google-business-review <accountId> <reviewId> | Reply to a review |
zernio accounts:tiktok-creator-info <id> | Get TikTok creator info for posting (privacy options, limits) |
zernio accounts:update <id> | Update a connected account |
Posts
| Command | Description |
|---|---|
zernio posts:bulk-upload | Bulk create posts from a JSON file |
zernio posts:create | Create or schedule a post |
zernio posts:delete <id> | Delete a post |
zernio posts:edit <id> | Edit an already-published post on a platform (where supported) |
zernio posts:get <id> | Get post details |
zernio posts:list | List posts |
zernio posts:retry <id> | Retry a failed post |
zernio posts:unpublish <id> | Unpublish (remove) a published post from a platform |
zernio posts:update <id> | Update a post (scheduled/draft posts) |
zernio posts:update-metadata <id> | Update platform metadata for a published post (e.g. YouTube title/tags) |
Analytics
| Command | Description |
|---|---|
zernio analytics:best-time | Get best posting times |
zernio analytics:daily | Get daily analytics metrics |
zernio analytics:get-content-decay | Get content performance decay |
zernio analytics:get-facebook-page-insights | Get Facebook Page insights |
zernio analytics:get-google-business-performance | Get GBP performance metrics |
zernio analytics:get-google-business-search-keywords | Get GBP search keywords |
zernio analytics:get-instagram-account-insights | Get Instagram insights |
zernio analytics:get-instagram-demographics | Get Instagram demographics |
zernio analytics:get-instagram-follower-history | Get Instagram follower history |
zernio analytics:get-linked-in-aggregate <accountId> | Get LinkedIn aggregate stats |
zernio analytics:get-linked-in-org-aggregate | Get LinkedIn organization page aggregate analytics |
zernio analytics:get-linked-in-post <accountId> | Get LinkedIn post stats |
zernio analytics:get-linked-in-post-reactions <accountId> | Get LinkedIn post reactions |
zernio analytics:get-post-timeline | Get post analytics timeline |
zernio analytics:get-posting-frequency | Get frequency vs engagement |
zernio analytics:get-tik-tok-account-insights | Get TikTok account-level insights |
zernio analytics:get-you-tube-channel-insights | Get YouTube channel-level insights |
zernio analytics:get-you-tube-daily-views | Get YouTube daily views |
zernio analytics:get-you-tube-demographics | Get YouTube demographics |
zernio analytics:get-you-tube-video-retention | Get YouTube video retention curve |
zernio analytics:posts | Get post analytics |
Media
| Command | Description |
|---|---|
zernio media:upload <file> | Upload a media file (returns URL for use in posts) |
Inbox (DMs, comments, reviews)
| Command | Description |
|---|---|
zernio inbox:comments | List post comments across accounts |
zernio inbox:conversation <id> | Get conversation details |
zernio inbox:conversations | List DM conversations |
zernio inbox:create-conversation | Start a new DM conversation |
zernio inbox:delete-comment <postId> | Delete a comment on a post |
zernio inbox:delete-message <conversationId> <messageId> | Delete a sent message (where supported) |
zernio inbox:edit-message <conversationId> <messageId> | Edit a sent message (where supported) |
zernio inbox:hide-comment <postId> <commentId> | Hide a comment |
zernio inbox:like-comment <postId> <commentId> | Like a comment |
zernio inbox:mark-read <conversationId> | Mark a conversation as read |
zernio inbox:messages <conversationId> | Get messages in a conversation |
zernio inbox:post-comments <postId> | Get comments on a specific post |
zernio inbox:private-reply <postId> <commentId> | Send a private reply (DM) to a commenter |
zernio inbox:react <conversationId> <messageId> | Add a reaction to a message |
zernio inbox:reply <postId> | Reply to a comment on a post |
zernio inbox:review-reply <reviewId> | Reply to a review |
zernio inbox:review-reply-delete <reviewId> | Delete a reply to a review |
zernio inbox:reviews | List reviews across accounts |
zernio inbox:send <conversationId> | Send a DM in a conversation |
zernio inbox:typing <conversationId> | Send a typing indicator in a conversation |
zernio inbox:unhide-comment <postId> <commentId> | Unhide a comment |
zernio inbox:unlike-comment <postId> <commentId> | Unlike a comment |
zernio inbox:unreact <conversationId> <messageId> | Remove a reaction from a message |
zernio inbox:update-conversation <conversationId> | Update a conversation (e.g. archive) |
Contacts
| Command | Description |
|---|---|
zernio contacts:bulk-create | Bulk create up to 1000 contacts from a JSON file |
zernio contacts:channels <id> | List channels for a contact |
zernio contacts:clear-field <id> <slug> | Clear a custom field value on a contact |
zernio contacts:create | Create a contact |
zernio contacts:delete <id> | Delete a contact |
zernio contacts:get <id> | Get contact details |
zernio contacts:list | List contacts |
zernio contacts:set-field <id> <slug> | Set a custom field value on a contact |
zernio contacts:update <id> | Update a contact |
Custom Fields
| Command | Description |
|---|---|
zernio customfields:create | Create a custom field definition |
zernio customfields:delete <id> | Delete a custom field definition |
zernio customfields:list | List custom field definitions |
zernio customfields:update <id> | Update a custom field definition |
Broadcasts
| Command | Description |
|---|---|
zernio broadcasts:add-recipients <id> | Add recipients to a broadcast |
zernio broadcasts:cancel <id> | Cancel a scheduled or sending broadcast |
zernio broadcasts:create | Create a broadcast draft |
zernio broadcasts:delete <id> | Delete a broadcast (draft only) |
zernio broadcasts:get <id> | Get broadcast details with stats |
zernio broadcasts:list | List broadcasts |
zernio broadcasts:recipients <id> | List broadcast recipients |
zernio broadcasts:schedule <id> | Schedule a broadcast for later |
zernio broadcasts:send <id> | Send a broadcast immediately |
zernio broadcasts:update <id> | Update a broadcast (draft only) |
Sequences
| Command | Description |
|---|---|
zernio sequences:activate <id> | Activate a sequence |
zernio sequences:create | Create a sequence |
zernio sequences:delete <id> | Delete a sequence |
zernio sequences:enroll <id> | Enroll contacts into a sequence |
zernio sequences:enrollments <id> | List enrollments for a sequence |
zernio sequences:get <id> | Get sequence details with steps |
zernio sequences:list | List sequences |
zernio sequences:pause <id> | Pause a sequence |
zernio sequences:unenroll <id> <contactId> | Unenroll a contact from a sequence |
zernio sequences:update <id> | Update a sequence |
Comment Automations
| Command | Description |
|---|---|
zernio automations:create | Create a comment-to-DM automation |
zernio automations:delete <id> | Delete an automation and all its logs |
zernio automations:get <id> | Get automation details with recent logs |
zernio automations:list | List comment-to-DM automations |
zernio automations:logs <id> | List trigger logs for an automation |
zernio automations:update <id> | Update an automation |
Validation
| Command | Description |
|---|---|
zernio validate:media | Validate a media URL (format, size, accessibility) |
zernio validate:post | Validate a post against platform rules before publishing |
zernio validate:post-length | Check whether post text fits each platform's character limit |
zernio validate:subreddit | Check whether a subreddit accepts posts and its requirements |
Account Groups
| Command | Description |
|---|---|
zernio accountgroups:create | Create an account group |
zernio accountgroups:delete <id> | Delete an account group |
zernio accountgroups:list | List account groups |
zernio accountgroups:update <id> | Update an account group |
API Keys
| Command | Description |
|---|---|
zernio apikeys:create | Create an API key (the secret is only returned once) |
zernio apikeys:delete <id> | Delete (revoke) an API key |
zernio apikeys:list | List API keys |
Usage
| Command | Description |
|---|---|
zernio usage:stats | Get usage statistics for your account |
zernio usage:x-pricing | Get current X (Twitter) API pricing |
Logs
| Command | Description |
|---|---|
zernio logs:list | List activity logs |
Tracking Tags
| Command | Description |
|---|---|
zernio trackingtags:add-shared <accountId> <tagId> | Share a tracking tag with another ad account |
zernio trackingtags:create <accountId> | Create a tracking tag (NOT idempotent — a retry creates a second tag) |
zernio trackingtags:get <accountId> <tagId> | Get a tracking tag |
zernio trackingtags:list <accountId> | List tracking tags for an account |
zernio trackingtags:remove-shared <accountId> <tagId> | Unshare a tracking tag from an ad account |
zernio trackingtags:shared-accounts <accountId> <tagId> | List ad accounts a tracking tag is shared with |
zernio trackingtags:stats <accountId> <tagId> | Get tracking tag event stats |
zernio trackingtags:update <accountId> <tagId> | Update a tracking tag |
Account Settings
| Command | Description |
|---|---|
zernio accountsettings:delete-instagram-ice-breakers <accountId> | Delete IG ice breakers |
zernio accountsettings:delete-messenger-menu <accountId> | Delete FB persistent menu |
zernio accountsettings:delete-telegram-commands <accountId> | Delete TG bot commands |
zernio accountsettings:get-instagram-ice-breakers <accountId> | Get IG ice breakers |
zernio accountsettings:get-messenger-menu <accountId> | Get FB persistent menu |
zernio accountsettings:get-telegram-commands <accountId> | Get TG bot commands |
zernio accountsettings:set-instagram-ice-breakers <accountId> | Set IG ice breakers |
zernio accountsettings:set-messenger-menu <accountId> | Set FB persistent menu |
zernio accountsettings:set-telegram-commands <accountId> | Set TG bot commands |
Ad Audiences
| Command | Description |
|---|---|
zernio adaudiences:add-users-to-ad-audience <audienceId> | Add users to audience |
zernio adaudiences:create-ad-audience | Create custom audience |
zernio adaudiences:delete-ad-audience <audienceId> | Delete custom audience |
zernio adaudiences:get-ad-audience <audienceId> | Get audience details |
zernio adaudiences:list-ad-audiences | List custom audiences |
Ad Campaigns
| Command | Description |
|---|---|
zernio adcampaigns:bulk-update-ad-campaign-status | Pause or resume many campaigns |
zernio adcampaigns:delete-ad-campaign <campaignId> | Delete a campaign |
zernio adcampaigns:duplicate-ad-campaign <campaignId> | Duplicate a campaign |
zernio adcampaigns:get-ad-tree | Get campaign tree |
zernio adcampaigns:get-ads-timeline | Get daily aggregate ad metrics for an account |
zernio adcampaigns:list-ad-campaigns | List campaigns |
zernio adcampaigns:update-ad-campaign <campaignId> | Update a campaign (budget and/or bid strategy) |
zernio adcampaigns:update-ad-campaign-status <campaignId> | Pause or resume a campaign |
zernio adcampaigns:update-ad-set <adSetId> | Update an ad set (budget, status, and/or bid strategy) |
zernio adcampaigns:update-ad-set-status <adSetId> | Pause or resume a single ad set |
Ads
| Command | Description |
|---|---|
zernio ads:add-conversion-associations <accountId> <destinationId> | Associate campaigns with a conversion destination |
zernio ads:adjust-conversions | Adjust already-uploaded conversions (Google only) |
zernio ads:archive-lead-form <formId> | Archive a Lead Gen form |
zernio ads:boost-post | Boost post as ad |
zernio ads:create-conversion-destination <accountId> | Create a conversion destination (LinkedIn, Google Ads) |
zernio ads:create-ctwa | Create Click-to-WhatsApp ad(s) |
zernio ads:create-lead-form | Create a Lead Gen (Instant) form |
zernio ads:create-standalone | Create standalone ad |
zernio ads:create-test-lead <formId> | Create a synthetic test lead |
zernio ads:delete <adId> | Cancel an ad |
zernio ads:delete-conversion-destination <accountId> <destinationId> | Soft-delete a conversion destination |
zernio ads:estimate-reach | Estimate audience reach |
zernio ads:get <adId> | Get ad details |
zernio ads:get-analytics <adId> | Get ad analytics |
zernio ads:get-comments <adId> | List comments on an ad |
zernio ads:get-conversion-destination <accountId> <destinationId> | Fetch a single conversion destination |
zernio ads:get-conversion-metrics <accountId> <destinationId> | Fetch attribution metrics for a conversion destination |
zernio ads:get-conversions-quality | Read Event Match Quality + coverage for a Meta pixel |
zernio ads:get-lead-form <formId> | Get a single Lead Gen form |
zernio ads:get-tracking-tags <adId> | Read an ad's click-URL tracking tags |
zernio ads:list | List ads |
zernio ads:list-accounts | List ad accounts |
zernio ads:list-business-centers | List TikTok Business Centers |
zernio ads:list-catalog-product-sets <catalogId> | List a catalog's product sets |
zernio ads:list-catalogs | List Meta product catalogs |
zernio ads:list-conversion-associations <accountId> <destinationId> | List campaigns associated with a conversion destination |
zernio ads:list-conversion-destinations <accountId> | List destinations for the Conversions API |
zernio ads:list-form-leads <formId> | List leads for a single form |
zernio ads:list-lead-forms | List Lead Gen (Instant) forms |
zernio ads:list-leads | List submitted leads (cross-form CRM view) |
zernio ads:remove-conversion-associations <accountId> <destinationId> | Remove campaign↔conversion associations |
zernio ads:search-interests | Search targeting interests (deprecated) |
zernio ads:search-targeting | Search targeting options |
zernio ads:send-conversions | Send conversion events to an ad platform |
zernio ads:update <adId> | Update ad |
zernio ads:update-conversion-destination <accountId> <destinationId> | Update a conversion destination |
zernio ads:update-tracking-tags <adId> | Set/update an ad's click-URL tracking tags |
Connect
| Command | Description |
|---|---|
zernio connect:ads <platform> | Connect ads for a platform |
zernio connect:complete-whats-app-phone-selection | Complete WhatsApp phone number selection |
zernio connect:configure-tik-tok-ads-brand-identity | Configure TikTok Ads Brand Identity |
zernio connect:get-facebook-pages <accountId> | List Facebook pages |
zernio connect:get-gmb-locations <accountId> | List GBP locations |
zernio connect:get-linked-in-organizations <accountId> | List LinkedIn orgs |
zernio connect:get-pending-o-auth-data | Get pending OAuth data |
zernio connect:get-pinterest-boards <accountId> | List Pinterest boards |
zernio connect:get-reddit-flairs <accountId> | List subreddit flairs |
zernio connect:get-reddit-subreddits <accountId> | List Reddit subreddits |
zernio connect:get-url <platform> | Get OAuth connect URL |
zernio connect:get-youtube-playlists <accountId> | List YouTube playlists |
zernio connect:handle-o-auth-callback <platform> | Complete OAuth callback |
zernio connect:list-whats-app-phone-numbers | List WhatsApp phone numbers for selection |
zernio connect:update-facebook-page <accountId> | Update Facebook page |
zernio connect:update-gmb-location <accountId> | Update GBP location |
zernio connect:update-linked-in-organization <accountId> | Switch LinkedIn account type |
zernio connect:update-pinterest-boards <accountId> | Set default Pinterest board |
zernio connect:update-reddit-subreddits <accountId> | Set default subreddit |
zernio connect:update-youtube-default-playlist <accountId> | Set default YouTube playlist |
zernio connect:whats-app-credentials | Connect WhatsApp via credentials |
Discord
| Command | Description |
|---|---|
zernio discord:add-member-role <guildId> <userId> <roleId> | Assign a role to a guild member |
zernio discord:create-scheduled-event <guildId> | Create a Discord scheduled event |
zernio discord:delete-scheduled-event <guildId> <eventId> | Delete a Discord scheduled event |
zernio discord:get-channels <accountId> | List Discord guild channels |
zernio discord:get-scheduled-event <guildId> <eventId> | Get a Discord scheduled event |
zernio discord:get-settings <accountId> | Get Discord account settings |
zernio discord:list-guild-members <guildId> | List Discord guild members |
zernio discord:list-guild-roles <guildId> | List Discord guild roles |
zernio discord:list-pinned-messages <channelId> | List pinned messages in a Discord channel |
zernio discord:list-scheduled-events <guildId> | List Discord scheduled events |
zernio discord:pin-message <channelId> <messageId> | Pin a Discord message |
zernio discord:remove-member-role <guildId> <userId> <roleId> | Remove a role from a guild member |
zernio discord:send-direct-message | Send a Discord Direct Message |
zernio discord:unpin-message <channelId> <messageId> | Unpin a Discord message |
zernio discord:update-scheduled-event <guildId> <eventId> | Update a Discord scheduled event |
zernio discord:update-settings <accountId> | Update Discord settings |
Google Business — Attributes
| Command | Description |
|---|---|
zernio gmbattributes:get-gmb-attribute-metadata <accountId> | Get attribute metadata |
zernio gmbattributes:get-google-business-attributes <accountId> | Get attributes |
zernio gmbattributes:update-google-business-attributes <accountId> | Update attributes |
Google Business — Food Menus
| Command | Description |
|---|---|
zernio gmbfoodmenus:get-google-business-food-menus <accountId> | Get food menus |
zernio gmbfoodmenus:update-google-business-food-menus <accountId> | Update food menus |
Google Business — Location Details
| Command | Description |
|---|---|
zernio gmblocationdetails:get-google-business-location-details <accountId> | Get location details |
zernio gmblocationdetails:update-google-business-location-details <accountId> | Update location details |
Google Business — Media
| Command | Description |
|---|---|
zernio gmbmedia:create-google-business-media <accountId> | Upload photo |
zernio gmbmedia:delete-google-business-media <accountId> | Delete photo |
zernio gmbmedia:list-google-business-media <accountId> | List media |
Google Business — Place Actions
| Command | Description |
|---|---|
zernio gmbplaceactions:create-google-business-place-action <accountId> | Create action link |
zernio gmbplaceactions:delete-google-business-place-action <accountId> | Delete action link |
zernio gmbplaceactions:list-google-business-place-actions <accountId> | List action links |
zernio gmbplaceactions:update-google-business-place-action <accountId> | Update action link |
Google Business — Services
| Command | Description |
|---|---|
zernio gmbservices:get-google-business-services <accountId> | Get services |
zernio gmbservices:update-google-business-services <accountId> | Replace services |
Google Business — Verifications
| Command | Description |
|---|---|
zernio gmbverifications:complete-google-business-verification <accountId> <verificationId> | Complete a verification |
zernio gmbverifications:fetch-google-business-verification-options <accountId> | Fetch verification options |
zernio gmbverifications:get-google-business-verifications <accountId> | Get verification state |
zernio gmbverifications:start-google-business-verification <accountId> | Start a verification |
Inbox Analytics
| Command | Description |
|---|---|
zernio inboxanalytics:get-inbox-conversation-analytics <conversationId> | Get analytics for a single conversation |
zernio inboxanalytics:get-inbox-heatmap | Get inbox day-of-week × hour-of-day heatmap |
zernio inboxanalytics:get-inbox-response-time | Get inbox response-time stats |
zernio inboxanalytics:get-inbox-source-breakdown | Get inbox source breakdown |
zernio inboxanalytics:get-inbox-top-accounts | Get top accounts by inbox volume |
zernio inboxanalytics:get-inbox-volume | Get inbox messaging volume |
zernio inboxanalytics:list-inbox-conversation-analytics | List conversations with inbox analytics |
| Command | Description |
|---|---|
zernio instagram:get-story-insights <accountId> <storyId> | Get Instagram story insights |
zernio instagram:list-stories <accountId> | List active Instagram stories |
Invites
| Command | Description |
|---|---|
zernio invites:create-token | Create invite token |
Inbox Messages (raw)
| Command | Description |
|---|---|
zernio messages:upload-media-direct | Upload media file |
Queue
| Command | Description |
|---|---|
zernio queue:create-slot | Create schedule |
zernio queue:delete-slot | Delete schedule |
zernio queue:get-next-slot | Get next available slot |
zernio queue:list-slots | List schedules |
zernio queue:preview | Preview upcoming slots |
zernio queue:update-slot | Update schedule |
| Command | Description |
|---|---|
zernio reddit:get-feed | Get subreddit feed |
zernio reddit:search | Search posts |
Twitter Engagement
| Command | Description |
|---|---|
zernio twitterengagement:bookmark-post | Bookmark a tweet |
zernio twitterengagement:follow-user | Follow a user |
zernio twitterengagement:remove-bookmark | Remove bookmark |
zernio twitterengagement:retweet-post | Retweet a post |
zernio twitterengagement:undo-retweet | Undo retweet |
zernio twitterengagement:unfollow-user | Unfollow a user |
Users
| Command | Description |
|---|---|
zernio users:get <userId> | Get user |
Webhooks
| Command | Description |
|---|---|
zernio webhooks:create-settings | Create webhook |
zernio webhooks:delete-settings | Delete webhook |
zernio webhooks:get-logs | List webhook delivery logs |
zernio webhooks:get-settings | List webhooks |
zernio webhooks:test | Send test webhook |
zernio webhooks:update-settings | Update webhook |
| Command | Description |
|---|---|
zernio whatsapp:add-whats-app-group-participants <groupId> | Add participants |
zernio whatsapp:approve-whats-app-group-join-requests <groupId> | Approve join requests |
zernio whatsapp:block-whats-app-users | Block users |
zernio whatsapp:create-whats-app-dataset | Provision CTWA conversions dataset |
zernio whatsapp:create-whats-app-group-chat | Create group |
zernio whatsapp:create-whats-app-group-invite-link <groupId> | Create invite link |
zernio whatsapp:create-whats-app-template | Create template |
zernio whatsapp:delete-whats-app-group-chat <groupId> | Delete group |
zernio whatsapp:delete-whats-app-template <templateName> | Delete template |
zernio whatsapp:get-whats-app-block-status | Check if a user is blocked |
zernio whatsapp:get-whats-app-blocked-users | List blocked users |
zernio whatsapp:get-whats-app-business-profile | Get business profile |
zernio whatsapp:get-whats-app-dataset | Get CTWA conversions dataset |
zernio whatsapp:get-whats-app-display-name | Get display name status |
zernio whatsapp:get-whats-app-group-chat <groupId> | Get group info |
zernio whatsapp:get-whats-app-template <templateName> | Get template |
zernio whatsapp:get-whats-app-templates | List templates |
zernio whatsapp:list-whats-app-conversions | List recent WhatsApp conversion events |
zernio whatsapp:list-whats-app-group-chats | List active groups |
zernio whatsapp:list-whats-app-group-join-requests <groupId> | List join requests |
zernio whatsapp:reject-whats-app-group-join-requests <groupId> | Reject join requests |
zernio whatsapp:remove-whats-app-group-participants <groupId> | Remove participants |
zernio whatsapp:send-whats-app-conversion | Send WhatsApp conversion event |
zernio whatsapp:unblock-whats-app-users | Unblock users |
zernio whatsapp:update-whats-app-business-profile | Update business profile |
zernio whatsapp:update-whats-app-display-name | Request display name change |
zernio whatsapp:update-whats-app-group-chat <groupId> | Update group settings |
zernio whatsapp:update-whats-app-template <templateName> | Update template |
zernio whatsapp:upload-whats-app-profile-photo | Upload profile picture |
WhatsApp Calling
| Command | Description |
|---|---|
zernio whatsappcalling:disable-whats-app-calling <id> | Disable calling on a number |
zernio whatsappcalling:enable-whats-app-calling <id> | Enable calling on a number |
zernio whatsappcalling:get-whats-app-call <callId> | Get a single call |
zernio whatsappcalling:get-whats-app-call-estimate | Estimate per-minute cost for a destination |
zernio whatsappcalling:get-whats-app-call-permissions | Check call permission for a consumer |
zernio whatsappcalling:get-whats-app-calling-config | Get calling config for an account |
zernio whatsappcalling:initiate-whats-app-call | Initiate outbound call |
zernio whatsappcalling:list-whats-app-calls | List call history for an account |
zernio whatsappcalling:update-whats-app-calling <id> | Update calling config |
WhatsApp Flows
| Command | Description |
|---|---|
zernio whatsappflows:create-whats-app-flow | Create flow |
zernio whatsappflows:delete-whats-app-flow <flowId> | Delete flow |
zernio whatsappflows:deprecate-whats-app-flow <flowId> | Deprecate flow |
zernio whatsappflows:get-whats-app-flow <flowId> | Get flow |
zernio whatsappflows:get-whats-app-flow-json <flowId> | Get flow JSON asset |
zernio whatsappflows:get-whats-app-flow-preview <flowId> | Get flow preview URL |
zernio whatsappflows:list-whats-app-flow-responses | List flow responses |
zernio whatsappflows:list-whats-app-flow-versions <flowId> | List flow versions |
zernio whatsappflows:list-whats-app-flows | List flows |
zernio whatsappflows:publish-whats-app-flow <flowId> | Publish flow |
zernio whatsappflows:send-whats-app-flow-message | Send flow message |
zernio whatsappflows:update-whats-app-flow <flowId> | Update flow |
zernio whatsappflows:upload-whats-app-flow-json <flowId> | Upload flow JSON |
WhatsApp Phone Numbers
| Command | Description |
|---|---|
zernio whatsappphonenumbers:check-whats-app-number-availability | Check a country's availability + address constraint |
zernio whatsappphonenumbers:get-whats-app-number-info | Get number status |
zernio whatsappphonenumbers:get-whats-app-number-kyc-form | Get regulated-number KYC form spec |
zernio whatsappphonenumbers:get-whats-app-number-remediation <id> | Get the declined requirements to fix |
zernio whatsappphonenumbers:get-whats-app-phone-number <phoneNumberId> | Get phone number |
zernio whatsappphonenumbers:get-whats-app-phone-numbers | List phone numbers |
zernio whatsappphonenumbers:list-whats-app-number-countries | List offerable number countries |
zernio whatsappphonenumbers:purchase-whats-app-phone-number | Purchase phone number |
zernio whatsappphonenumbers:release-whats-app-phone-number <phoneNumberId> | Release phone number |
zernio whatsappphonenumbers:remediate-whats-app-number <id> | Fix a declined number and re-submit |
zernio whatsappphonenumbers:search-available-whats-app-numbers | Search available numbers to purchase |
zernio whatsappphonenumbers:submit-whats-app-number-kyc | Submit regulated-number KYC |
zernio whatsappphonenumbers:upload-whats-app-number-kyc-document | Upload a single regulated-number KYC document |
zernio whatsappphonenumbers:validate-whats-app-number-kyc-address | Pre-validate a regulated-number KYC address (Tier 4) |
WhatsApp Sandbox
| Command | Description |
|---|---|
zernio whatsappsandbox:create-whats-app-sandbox-session | Start a sandbox activation for a phone |
zernio whatsappsandbox:delete-whats-app-sandbox-session <sessionId> | Revoke a sandbox session |
zernio whatsappsandbox:list-whats-app-sandbox-sessions | List your sandbox sessions |
WhatsApp Templates
| Command | Description |
|---|---|
zernio whatsapptemplates:get-whats-app-library-template | Look up a library template |
Workflows
| Command | Description |
|---|---|
zernio workflows:activate <workflowId> | Activate workflow |
zernio workflows:create | Create workflow |
zernio workflows:delete <workflowId> | Delete workflow |
zernio workflows:duplicate <workflowId> | Duplicate a workflow |
zernio workflows:get <workflowId> | Get workflow with graph |
zernio workflows:get-version <workflowId> <version> | Get a specific workflow version |
zernio workflows:list | List workflows |
zernio workflows:list-execution-events <workflowId> <executionId> | Get an execution's timeline |
zernio workflows:list-executions <workflowId> | List workflow runs |
zernio workflows:list-versions <workflowId> | List a workflow's version history |
zernio workflows:pause <workflowId> | Pause workflow |
zernio workflows:restore-version <workflowId> <version> | Restore a previous workflow version |
zernio workflows:trigger <workflowId> | Manually start a workflow run |
zernio workflows:update <workflowId> | Update workflow |
Configuration
The CLI stores settings in ~/.zernio/config.json. You can also use environment variables:
| Variable | Description | Required |
|---|---|---|
ZERNIO_API_KEY | Your API key | Yes |
ZERNIO_API_URL | Custom API endpoint | No |
Environment variables override the config file.
Supported Platforms
Instagram, TikTok, X (Twitter), LinkedIn, Facebook, Threads, YouTube, Bluesky, Pinterest, Reddit, Snapchat, Telegram, and Google Business Profile.