SociaHive Docs

Posting slots

Weekly posting times per account, and the next free slot for a post.

A posting slot is a weekly time a post goes out on one or more accounts: "every Monday at 09:30 in Europe/Berlin, for @shop on Instagram and Facebook". "Next free slot" picks the earliest slot where none of the post's accounts already has a post.

Posting slots are on every plan.

How a slot is picked

  • A slot applies to a post when it posts for at least one of the post's accounts.
  • A slot is taken when a scheduled post (or one waiting for approval, or publishing) targets one of the post's accounts within 5 minutes of it. Drafts do not take slots.
  • The search covers the next 60 days.
  • The slot returned is held for 10 minutes, so two requests at the same moment get different slots. Create the post at that time to keep it.
  • Times are wall-clock times in the slot's zone and stay put when the clocks change. A time the clocks skip (02:30 on the spring-forward night) moves to just after the gap; a time that happens twice (01:30 on the fall-back night) uses the first one.

Up to 100 slots per user.

API

MethodPathScope
GET/api/v1/posting-slots[?account_ids=a,b]posts:read
POST/api/v1/posting-slotsposts:write
PATCH/api/v1/posting-slots/{id}posts:write
DELETE/api/v1/posting-slots/{id}posts:write
GET/api/v1/posting-slots/occurrences?from=YYYY-MM-DD&to=YYYY-MM-DD&timezone=posts:read
GET/api/v1/find-slot?account_ids=a,b[&after=ISO]posts:read

Add a slot:

curl -X POST https://www.sociahive.com/api/v1/posting-slots \
  -H "X-API-Key: sk_..." -H "Content-Type: application/json" \
  -d '{"account_ids":["507f1f77bcf86cd799439011"],"weekday":1,"time":"09:30","timezone":"Europe/Berlin"}'

weekday is 0 (Sunday) to 6 (Saturday). Send time ("HH:mm") or minutes after midnight.

Find the next free slot:

curl "https://www.sociahive.com/api/v1/find-slot?account_ids=507f1f77bcf86cd799439011" -H "X-API-Key: sk_..."
# {"success":true,"data":{"at":"2026-11-02T08:30:00.000Z","slotId":"...","slot_id":"...","timezone":"Europe/Berlin","reserved_until":"..."}}

Errors: 404 no_slots (the accounts have no slots), 404 no_free_slot (none free in 60 days), 409 busy (another request is picking for the same accounts; retry), 400 invalid_accounts.

Agent and MCP

  • find_next_slot { accountIds, after? } returns the next free slot and holds it.
  • manage_posting_slots { action: list | add | update | remove, ... } manages slots.
  • create_scheduled_post { ..., nextSlot: true } schedules a new post straight into the next free slot.

CLI

sociahive slots list
sociahive slots add --accounts <id,id> --weekday mon --time 09:30 --timezone Europe/Berlin
sociahive slots remove <slotId>
sociahive slots next --accounts <id,id>
sociahive posts create --text "..." --platforms '[...]' --next-slot

On this page