Aether
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

EndpointAction
GET /v1/queuesList queues
GET /v1/queues/:idGet queue
PATCH /v1/queues/:idUpdate slots, timezone, active state
DELETE /v1/queues/:idDelete queue

See Queues API.

On this page