Skip to main content

Drafts

Drafts are created with posts:create -t draft or --json with action: DRAFT and schedule.type: DRAFT. List with posts:drafts; update or delete with drafts:*.

note

Drafts are not returned by MCP get-posts. Use the CLI or Verlynk dashboard to verify.

Create a draft

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

Or --json:

{
"action": "DRAFT",
"posts": [
{
"channelId": "<channel-id>",
"postType": "post",
"metaData": {
"contents": [{ "title": "", "text": "Draft body", "media": [] }]
},
"schedule": {
"type": "DRAFT",
"details": {
"timezone": "UTC",
"utc": "2026-07-15T12:00:00.000Z"
}
}
}
]
}

utc must be in the future and within 12 months.

List drafts

Date range is required (max 40 days).

verlynk posts:drafts --from 2026-07-01 --to 2026-07-31
verlynk posts:drafts --from 2026-07-01 --to 2026-07-31 --platform linkedin --json
FlagDescription
--fromStart date (required)
--toEnd date (required)
--profile-idOverride profile
--platformFilter by platform
--jsonOutput raw JSON

Update a draft

Updates require a JSON payload file. Returns 202 immediately; work runs asynchronously — poll posts:drafts / posts:list to confirm.

verlynk drafts:update <draft-id> --json ./draft.json
verlynk drafts:update <draft-id> --json ./draft.json --profile-id <profile-uuid>
FlagDescription
-j, --jsonPath to draft payload JSON (required)
--profile-idOverride profile

Keep as draft

Use action: DRAFT and schedule.type: DRAFT (same shape as create).

Promote draft → schedule / publish / queue / approval

Send a non-DRAFT action. The server creates real posts, then deletes the draft:

verlynk drafts:update <draft-id> --json ./update-draft-to-schedule.json
{
"action": "SCHEDULE",
"posts": [
{
"channelId": "<channel-id>",
"postType": "post",
"metaData": {
"contents": [{ "title": "", "text": "Promoted from draft", "media": [] }]
},
"schedule": {
"type": "ONCE",
"details": {
"timezone": "UTC",
"utc": "2026-07-22T16:00:00.000Z"
}
}
}
]
}

Allowed promotion actions follow the same action × schedule pairing as create (SCHEDULE, PUBLISH, QUEUE, NEEDS_APPROVAL with workflowId).

Delete a draft

verlynk drafts:delete <draft-id> --yes
verlynk drafts:delete <draft-id> --profile-id <profile-uuid> --yes
warning

Delete requires --yes / -y. Hard delete — cannot be undone.

Next steps

  • Posts — Create, update, retry, and delete non-draft posts
  • Reference — Full command cheat sheet