Post Queue
Post Queue
The post queue lets you line up content and have Octopost publish it automatically throughout the day. Instead of scheduling each post for a specific time, you add posts to the queue and Octopost spaces them out during your active hours.
How It Works
- Add posts to the queue by setting
queueStatus: "queued"when creating a post - Octopost publishes them automatically during your configured active hours, spaced at your chosen interval
- Posts publish in the order they were added (oldest first)
The queue respects your timezone and active hours. If you set 9 AM - 8 PM Eastern with a 4-hour interval, posts will go out around 9 AM, 1 PM, 5 PM, and so on.
Queue vs Scheduling
| Feature | Queue | Schedule |
|---|---|---|
| You choose the time? | No, Octopost picks | Yes, exact time |
| Spacing | Automatic intervals | Manual |
| Best for | Steady content flow | Time-sensitive posts |
Use the queue for evergreen content you want published regularly. Use scheduling for announcements, launches, or anything time-sensitive.
Adding Posts to the Queue
# Add directly to queue (publishes automatically)
curl -X POST https://api.octopost.ink/v1/posts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "This will be published during active hours",
"platforms": ["twitter", "bluesky"],
"queueStatus": "queued"
}'Approval Workflow
For posts that need review before publishing, use "queueStatus": "pending":
# Add to queue, needs approval first
curl -X POST https://api.octopost.ink/v1/posts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Review this before it goes live",
"platforms": ["twitter", "linkedin"],
"queueStatus": "pending"
}'
# Approve a pending post (moves it to "queued")
curl -X POST https://api.octopost.ink/v1/posts/:id/approve \
-H "Authorization: Bearer YOUR_API_KEY"Pending posts won't publish until approved. Once approved, they join the queue in their original position.
Removing from Queue
# Remove a post from the queue (becomes a draft)
curl -X DELETE https://api.octopost.ink/v1/posts/:id/queue \
-H "Authorization: Bearer YOUR_API_KEY"Queue Settings
Configure how the queue behaves:
# Get current settings
curl https://api.octopost.ink/v1/queue-settings \
-H "Authorization: Bearer YOUR_API_KEY"
# Update settings
curl -X PUT https://api.octopost.ink/v1/queue-settings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"intervalHours": 4,
"startHour": 9,
"endHour": 20,
"timezone": "America/New_York"
}'Settings Reference
| Field | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Whether the queue is active |
| intervalHours | number | 4 | Hours between posts (1-24) |
| startHour | number | 9 | Start of active window (0-23) |
| endHour | number | 20 | End of active window (0-23) |
| timezone | string | America/New_York | Your timezone (IANA format) |
Tips
- Start with a 4-hour interval and adjust based on engagement
- Mix platforms in your queue. Some posts work better on certain platforms
- Use pending status for posts with links or mentions that need a final check
- The queue pauses overnight based on your active hours. No 3 AM posts unless you want them
- You can still schedule individual posts for specific times alongside the queue