bash
socifyr status <id> [options]<id> can be either:
- A MongoDB ObjectId (24 hex chars) — the
uploadId/draftIdreturned at creation time - A UUID — the
requestIdreturned for async / scheduled posts
Options
| Flag | Description |
|---|---|
--json | Output as JSON |
-w, --wait | Poll until the post reaches a terminal state |
Example — formatted
bash
socifyr status 6a05032a84584482ace13d5fPost 6a05032a84584482ace13d5f
Status: partial_failure
✓ linkedin → https://linkedin.com/feed/update/...
✗ x: rate limit exceededExample — JSON
bash
socifyr status 6a05032a84584482ace13d5f --jsonjson
{
"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 --waitPolls 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