Publishing
Scheduling
Publish later with scheduled_at, and cancel before it starts.
Add scheduled_at to a post and it goes out at that time instead of straight away.
curl https://socialhelper.app/api/v1/posts \
-H "Authorization: Bearer $SOCIALHELPER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID_1",
"ACCOUNT_ID_2"
],
"scheduled_at": "2026-12-01T09:00:00-07:00"
}'
Time format
- Any ISO 8601 date and time. Include an offset (
-07:00) orZ; a time without one is read as UTC. - It must be in the future (a few minutes of clock skew is allowed) and no more than 1 year ahead.
- Times are returned in UTC, e.g.
2026-12-01T16:00:00Z.
What happens
The post and its targets have status scheduled until the time comes. SocialHelper checks for due posts every minute, so a post goes out within about a minute of its time. Each target then moves on to queued, publishing and published as usual.
The content is checked against every platform when you create the post, not later, so a scheduled post can’t fail for being too long.
Cancel or change
DELETE /api/v1/posts/{id} cancels every target that hasn’t started. Posts can’t be edited; to change one, cancel it and create a new one.