posts

Create a post

Creates a post and one or more channel-specific variants. Variants with scheduled_at are persisted for the Cloudflare Cron worker.

post/api/v1/posts

Request

  • Base URL: https://api.cadencz.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.cadencz.com/api/v1/posts
  • Auth: HTTP bearer

Request body

ideastring required
source'manual' | 'agent'
brain_idstring nullable
timezonestring

IANA zone the schedule times were chosen in. scheduled_at is already absolute, so this does not move the post — it records what the customer meant, which is what a later reschedule or a best-time read has to honour.

Example request

{
  "brain_id": "brain_123",
  "idea": "Turn this product changelog into a Bluesky post.",
  "source": "manual",
  "variants": [
    {
      "body": "Cadencz now supports scheduled Bluesky posts.",
      "channel_id": "chn_123",
      "media_ids": [],
      "platform": "bluesky",
      "scheduled_at": "2026-07-08T10:30:00Z"
    }
  ]
}

Response

Successful Response

idstring required
workspace_idstring required
ideastring required
sourcestring required
brain_idstring nullable required

Example response

{
  "brain_id": "brain_123",
  "id": "pst_123",
  "idea": "Turn this product changelog into a Bluesky post.",
  "source": "manual",
  "variants": [
    {
      "attempt_count": 0,
      "body": "Cadencz now supports scheduled Bluesky posts.",
      "channel_id": "chn_123",
      "id": "var_123",
      "media_ids": [],
      "platform": "bluesky",
      "post_id": "pst_123",
      "scheduled_at": "2026-07-08T10:30:00Z",
      "status": "scheduled"
    }
  ],
  "workspace_id": "wks_123"
}

Changes

No recorded changes to this operation across all 1 revision of this API.