Posts
A post is a single piece of content fanned out to one or more connected social accounts. Each target produces a social posting carrying its own publish status.
The post object
Section titled “The post object”{ "id": "pst_2Xa9kQ1mB3cD4eF5gH6iJ7kL8m", "status": "scheduled", "content": "Big news today 🚀", "strict": false, "scheduled_at": "2026-06-26T15:00:00.000Z", "published_at": null, "error": null, "created_at": "2026-06-25T08:00:00.000Z", "updated_at": "2026-06-25T08:00:00.000Z"}status is one of draft, scheduled, publishing, published, or failed.
List posts
Section titled “List posts”GET /v1/posts
Optional query filters: status, from (ISO), to (ISO), unscheduled (true/false).
curl "https://api.socialit.com/v1/posts?status=scheduled" \ -H "Authorization: Bearer sk_live_..."Each post includes its targets (platform + per-target status) and attached media.
Create a post
Section titled “Create a post”POST /v1/posts
| Field | Type | Notes |
|---|---|---|
content | string | Required. 1–5000 chars. |
target_account_ids | string[] | Required. Social account IDs (sa_...). |
media_ids | string[] | Optional. Media IDs (med_...). |
scheduled_at | ISO date | Optional. Schedule for later. |
publish | boolean | Optional. Publish immediately (if no scheduled_at). |
strict | boolean | Optional. Fail on media-constraint violations instead of clamping. |
config_by_platform | object | Optional. Per-platform overrides. |
Omit both scheduled_at and publish to save a draft. Scheduling or publishing checks your credit balance and returns 402 if insufficient.
curl -X POST https://api.socialit.com/v1/posts \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "content": "Big news today 🚀", "target_account_ids": ["sa_2Xa...", "sa_3Yb..."], "media_ids": ["med_2Xa..."], "scheduled_at": "2026-06-26T15:00:00.000Z" }'Returns 201 with { "post": { ... } }.
Get a post
Section titled “Get a post”GET /v1/posts/:id
Returns the post with its attached media, per-target targets (including external_url, status, and credits_charged), and credits_total.
curl https://api.socialit.com/v1/posts/pst_2Xa... \ -H "Authorization: Bearer sk_live_..."Update a post
Section titled “Update a post”PATCH /v1/posts/:id
Update content, media_ids, strict, or config_by_platform on a draft/scheduled post.
curl -X PATCH https://api.socialit.com/v1/posts/pst_2Xa... \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "content": "Updated copy" }'Delete a post
Section titled “Delete a post”DELETE /v1/posts/:id
curl -X DELETE https://api.socialit.com/v1/posts/pst_2Xa... \ -H "Authorization: Bearer sk_live_..."{ "ok": true }