Skip to content
bash
socifyr status <id> [options]

<id> can be either:

  • A MongoDB ObjectId (24 hex chars) — the uploadId / draftId returned at creation time
  • A UUID — the requestId returned for async / scheduled posts

Options

FlagDescription
--jsonOutput as JSON
-w, --waitPoll until the post reaches a terminal state

Example — formatted

bash
socifyr status 6a05032a84584482ace13d5f
Post 6a05032a84584482ace13d5f
Status: partial_failure

  ✓  linkedin  → https://linkedin.com/feed/update/...
  ✗  x: rate limit exceeded

Example — JSON

bash
socifyr status 6a05032a84584482ace13d5f --json
json
{
  "requestId": "6a05032a84584482ace13d5f",
  "uploadId": "6a05032a84584482ace13d5f",
  "status": "partial_failure",
  "type": "text",
  "channels": [
    {
      "platform": "linkedin",
      "result": {
        "status": "success",
        "postUrl": "https://linkedin.com/feed/update/..."
      }
    },
    {
      "platform": "x",
      "result": { "status": "failed", "error": "rate limit exceeded" }
    }
  ],
  "createdAt": "2026-05-13T23:03:06.267Z"
}

Polling

bash
socifyr status 6a05033584584482ace13d72 --wait

Polls every 3 seconds until status is completed, failed, or partial_failure, then renders the final result. Timeout is 5 minutes.

Scripting

bash
ID=$(socifyr post "Test" --to linkedin-myhandle --json | jq -r '.uploadId')
STATUS=$(socifyr status "$ID" --wait --json | jq -r '.status')

if [ "$STATUS" != "completed" ]; then
  echo "Publish failed"
  socifyr retry "$ID"
fi