Cue
API ReferencePosts

Create a post

Create a new post as draft, scheduled, or publish immediately.

Status determination:

  • If publishNow: true - Post is queued for immediate publishing
  • If autoSchedule: true - Post is scheduled at optimal times per platform
  • If status is provided - Uses specified status (allows draft with scheduledAt)
  • If scheduledAt is provided - Status is set to scheduled
  • Otherwise - Status is set to draft

Auto-scheduling: Uses platform-specific best-practice posting windows and respects your profile's scheduling preferences (timezone, spacing, daily limits). Each platform may receive a different scheduled time based on optimal engagement windows.

Validation rules:

  • All social account IDs in platforms must exist and belong to the specified profile
  • All accounts must be active
  • Content length must not exceed the strictest character limit among selected platforms
  • autoSchedule and scheduledAt are mutually exclusive
POST
/posts

Authorization

bearerAuth
AuthorizationBearer <token>

API keys start with cue_sk_ prefix. Get your key from the Cue dashboard.

Example: cue_sk_abc123def456ghi789jkl012mno345pqr678stu901vwx234

In: header

Request Body

application/json

profileId*string

Profile ID to post from

platforms*

Per-account content mapping. Keys are social account IDs, values contain the content items.

Single item = single post. Multiple items = thread (requires Growth plan or above).

This format allows different content per platform, respecting each platform's character limits and style.

scheduledAt?string

ISO 8601 datetime with timezone offset. Mutually exclusive with autoSchedule.

Formatdate-time
autoSchedule?boolean

Automatically schedule each platform for optimal posting times. Uses platform-specific best-practice windows and respects profile scheduling preferences. Mutually exclusive with scheduledAt.

Defaultfalse
publishNow?boolean

Publish immediately instead of creating draft

Defaultfalse
status?string

Explicit status (overrides automatic determination)

Value in"draft" | "scheduled"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.oncue.so/v1/posts" \  -H "Content-Type: application/json" \  -d '{    "profileId": "prf_h7k2m9xp4qnj",    "platforms": {      "sac_p4n7k2m9xqhj": {        "items": [          {            "content": "Hello from Cue!"          }        ]      }    },    "publishNow": true  }'
{
  "data": {
    "id": "pst_r3v8n2xk5qmj",
    "profileId": "prf_h7k2m9xp4qnj",
    "content": "Publishing this right now!",
    "status": "queued",
    "scheduledAt": null,
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T10:00:00Z"
  },
  "message": "Post queued for publishing to 1 platform(s)"
}

{
  "error": "One or more social accounts not found"
}

{
  "error": "Unauthorized"
}
{
  "error": "Monthly post limit reached. Upgrade your plan to schedule more posts."
}
{
  "error": "Profile not found"
}