Update a post (content, status, schedule)
Partial update of a post. Any subset of content, title,
contentType may be sent. Status can be changed via either
statusCategory (move to the workspace’s default status in
that lifecycle category) or an explicit statusId (from
GET /post-statuses) — the two are mutually exclusive.
Scheduling is driven by scheduledFor:
- A future ISO timestamp schedules (or reschedules) the
post. Before scheduling, the project’s LinkedIn connection
is verified live (
/meping + token refresh for personal brands; non-empty admin set for company pages). If LinkedIn isn’t connected the request fails409 conflictand the post is left unchanged. nullunschedules the post (reverts to a draft and clears its calendar slot).- Omitting the field leaves the schedule untouched.
Emits post.updated, plus post.scheduled / post.unscheduled
when the schedule changes.
Required scope: posts:write.
Documentation Index
Fetch the complete documentation index at: https://apidocs.scripe.io/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Pass Authorization: Bearer scripe_sk_live_<...> (or
scripe_sk_test_<...> for test keys) on every request. Keys
are scoped to a single workspace and can be revoked from the
Scripe dashboard.
Headers
Pin the API version. Format YYYY-MM-DD. Omit to receive the
currently rolling default. Unknown versions return 400 version_unsupported.
"2026-08-01"
Opaque string (1–64 chars, [A-Za-z0-9_-]) used to dedup
retried writes. Within 24h of the first request, the same key
- same body returns the original response (
Idempotent-Replayed: true). Same key + different body returns409 idempotency_key_conflict.
Strongly recommended for every write — see
/docs/api/v1/idempotency.
^[A-Za-z0-9_-]{1,64}$Path Parameters
"post_a1b2c3d4e5f6g7h8"
Body
Partial update. All fields optional. statusCategory and
statusId are mutually exclusive. scheduledFor accepts a
future timestamp (schedule/reschedule), null (unschedule), or
may be omitted (leave schedule unchanged).
100000500PERSONAL, BUSINESS_INTERNAL, BUSINESS_EXTERNAL, EDUCATIONAL, UNKNOWN Move the post to the workspace's default status in this
lifecycle category. Mutually exclusive with statusId.
suggested, draft, inProgress, review, scheduled, published Move the post to a specific custom status by id (from
GET /post-statuses). Mutually exclusive with
statusCategory.
Future ISO timestamp to schedule/reschedule the post (LinkedIn
connection verified first). null unschedules. Omit to leave
unchanged.
Enable auto-like engagement when the post goes live.
Enable auto-comment engagement when the post goes live.
Response
Post updated.