Skip to main content

Posts

Create, schedule, publish, update, retry, and delete posts from the CLI. Channel IDs come from accounts:list.

Create a post

# Schedule
verlynk posts:create -c "Hello from Verlynk!" -i "<channel-id>" -d "2026-07-15T09:00:00.000Z"

# Draft
verlynk posts:create -c "Draft content" -i "<channel-id>" -d "2026-07-15T09:00:00.000Z" -t draft

# Publish now
verlynk posts:create -c "We're live!" -i "<channel-id>" -t publish

# Multi-channel
verlynk posts:create -c "Launch day!" -i "id1,id2" -d "2026-07-20T14:00:00.000Z"

# From JSON file
verlynk posts:create --json ./post.json

posts:create options

FlagDescription
-c, --contentPost text / caption
-i, --accountsComma-separated channel IDs from accounts:list
-d, --dateSchedule datetime in ISO 8601 (required for schedule / draft)
-t, --typeschedule (default), draft, or publish
--timezoneIANA timezone (default UTC)
--post-typepost, reel, story, video, thread, pin, offer, event
--settingsPlatform-specific settings as a JSON string
-j, --jsonPath to a full post payload JSON file
--profile-idOverride profile for this command

CLI action mapping:

  • schedule → schedule once
  • draft → save as draft
  • publish → publish now
note

Advanced actions such as QUEUE or NEEDS_APPROVAL are available via the --json payload path. See the API Reference.

List posts

Date range is required (max 40 days).

verlynk posts:list --from 2026-07-01 --to 2026-07-31
verlynk posts:list --from 2026-07-01 --to 2026-07-31 --status SCHEDULED
verlynk posts:list --from 2026-07-01 --to 2026-07-31 --platform linkedin --json
FlagDescription
--fromStart date (required)
--toEnd date (required)
--statusFilter by status
--platformFilter by platform
--profile-idOverride profile
--channel-idFilter by channel
--jsonOutput raw JSON

Get a post

verlynk posts:get <post-id>
verlynk posts:get <post-id> --profile-id <profile-uuid> --json

Update a post

verlynk posts:update <post-id> -c "Updated text" -i "<channel-id>" -d "2026-07-16T09:00:00.000Z"
verlynk posts:update <post-id> --json ./post.json

When not using --json, -i / --accounts accepts a single channel ID.

Retry a post

verlynk posts:retry <post-id>
verlynk posts:retry <post-id> --profile-id <profile-uuid>

Delete a post

verlynk posts:delete <post-id> --yes
warning

Delete requires --yes / -y.

Media upload

Media upload is not a CLI command. Presign and upload via the Public API, then pass the media URL in your post JSON. See the API Reference.

Next steps