Guides
Queues
Org-level recurring publish slot schedules for automatic post timing.
Publish Queues define recurring time slots (e.g. Mon/Wed/Fri at 09:00) so posts can be scheduled into the next available slot automatically.
Create a queue
curl -X POST https://api.aetherhq.dev/v1/queues \
-H "Authorization: Bearer $AETHER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekday mornings",
"timezone": "America/New_York",
"slots": [
{ "dayOfWeek": 1, "time": "09:00" },
{ "dayOfWeek": 3, "time": "09:00" },
{ "dayOfWeek": 5, "time": "09:00" }
],
"isDefault": true
}'const queue = await client.queues.create({
name: "Weekday mornings",
timezone: "America/New_York",
slots: [
{ dayOfWeek: 1, time: "09:00" },
{ dayOfWeek: 3, time: "09:00" },
{ dayOfWeek: 5, time: "09:00" },
],
isDefault: true,
});dayOfWeek is 0 (Sunday) through 6 (Saturday). time is 24-hour HH:MM in the queue's timezone.
Schedule a post into a queue
When creating a post, pass queueId or useDefaultQueue:
await client.posts.create({
text: "Next slot post",
profileIds: ["prof_ig123"],
queueId: queue.id,
});Aether reserves the next available slot and sets scheduledFor on the post. A post.scheduled webhook fires.
Preview next slots
curl "https://api.aetherhq.dev/v1/queues/next-slot?queueId=queue_abc123&count=5" \
-H "Authorization: Bearer $AETHER_API_KEY"Profile filtering
Optionally restrict a queue to specific profiles with profileIds. Posts targeting profiles outside the queue's filter cannot use that queue.
Manage queues
| Endpoint | Action |
|---|---|
GET /v1/queues | List queues |
GET /v1/queues/:id | Get queue |
PATCH /v1/queues/:id | Update slots, timezone, active state |
DELETE /v1/queues/:id | Delete queue |
See Queues API.