REST API

Posts

List calendar posts and draft new ones.

List posts

GET/api/postsscope: read
Query
fromISO date-time
Default 7 days ago.
toISO date-time
Default 30 days ahead.
statusstring
draft, in_review, approved, scheduled, publishing, published, needs_action or failed.
curl https://www.zieads.com/api/posts?status=scheduled \
  -H "Authorization: Bearer zk_your_key"
Response 200
{
  "data": {
    "posts": [
      {
        "id": "f2a9...",
        "platform": "instagram",
        "caption": "Behind the scenes at the roastery",
        "status": "scheduled",
        "scheduled_for": "2026-11-06T12:30:00Z",
        "published_at": null
      }
    ]
  }
}

Draft a post

POST/api/postsscope: draft
Body
platforminstagram | facebook | tiktok | linkedinrequired
Must be connected.
captionstring, max 2200required
Post text.
scheduled_forISO date-time
When it goes out after approval.
media_urlhttps URL
Public image or video.
first_commentstring
Posted as the first comment.
curl -X POST https://www.zieads.com/api/posts \
  -H "Authorization: Bearer zk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"platform":"instagram","caption":"New single origin is in. Which one should we brew first?","scheduled_for":"2026-11-07T11:00:00Z"}'
Response 201
{
  "data": {
    "post_id": "f2a9...",
    "task_id": "0c7e...",
    "status": "pending_approval",
    "message": "Waiting for approval in ZieAds (AI Analyst or the approvals list)."
  }
}
The post lands on your calendar as a draft. If the key auto approves schedule_post, status is executed and the post is scheduled.