Aether
Guides

Publishing

Cross-platform posting, scheduling, queues, and per-platform content overrides.

Publish to multiple SocialProfiles with a single API call. Use per-platform overrides to customize content per platform.

Creating a post

curl -X POST https://api.aetherhq.dev/v1/posts \
  -H "Authorization: Bearer $AETHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Big announcement coming soon!",
    "profileIds": ["prof_ig123", "prof_fb456"]
  }'
const { post } = await client.posts.create({
  text: "Big announcement coming soon!",
  profileIds: ["prof_ig123", "prof_fb456"],
});

Scheduling

Add scheduledFor as ISO 8601 datetime. Optionally set timezone for display:

{
  "text": "Good morning!",
  "profileIds": ["prof_ig123"],
  "scheduledFor": "2026-06-20T09:00:00-05:00",
  "timezone": "America/New_York"
}

Queue scheduling

Assign the next available slot from a Publish Queue:

{
  "text": "Queued post",
  "profileIds": ["prof_ig123"],
  "queueId": "queue_abc123"
}

Or use useDefaultQueue: true to reserve the next slot on your org's default queue.

Per-platform overrides

{
  "text": "Check out our latest update",
  "profileIds": ["prof_ig123", "prof_fb456"],
  "overrides": {
    "instagram": {
      "text": "New drop just landed — link in bio",
      "mediaUrls": ["https://cdn.example.com/product.jpg"],
      "contentType": "feed"
    },
    "facebook": {
      "text": "We're excited to announce our latest product update."
    }
  }
}

Bulk create

Create multiple posts in one request:

curl -X POST https://api.aetherhq.dev/v1/posts/bulk \
  -H "Authorization: Bearer $AETHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "posts": [ { "text": "Post 1", "profileIds": ["prof_ig123"] } ] }'

Publish and retry (REST)

These endpoints are available via REST but not yet in the Node SDK:

  • POST /v1/posts/:id/publish — publish a draft or re-publish to specific profiles
  • POST /v1/posts/:id/retry — retry failed platform results on a failed post
  • POST /v1/posts/bulk — create multiple posts in one request

Post statuses

StatusDescription
draftNot yet published or scheduled
scheduledQueued for future publishing
publishingCurrently being published
publishedSuccessfully published
failedPublishing failed — check publishResults
cancelledCancelled before publishing

Media

Upload media via presigned URLs, then attach mediaUrls to your post.

API reference

See Posts in the interactive API reference.

On this page