Skip to main content
PATCH
/
posts
/
{postId}
Update a post (content, status, schedule)
curl --request PATCH \
  --url https://api.scripe.io/v1/posts/{postId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "content": "<string>",
  "title": "<string>",
  "statusId": "<string>",
  "scheduledFor": "2023-11-07T05:31:56Z",
  "autoLike": true,
  "autoComment": true
}
'
{
  "data": {
    "id": "post_a1b2c3d4e5f6g7h8",
    "status": "<string>",
    "platform": "<string>",
    "contentType": "<string>",
    "title": "<string>",
    "content": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "projectId": "<string>",
    "scheduledAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

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

Authorization
string
header
required

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

Scripe-Api-Version
string

Pin the API version. Format YYYY-MM-DD. Omit to receive the currently rolling default. Unknown versions return 400 version_unsupported.

Example:

"2026-08-01"

Idempotency-Key
string

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 returns 409 idempotency_key_conflict.

Strongly recommended for every write — see /docs/api/v1/idempotency.

Pattern: ^[A-Za-z0-9_-]{1,64}$

Path Parameters

postId
string
required
Example:

"post_a1b2c3d4e5f6g7h8"

Body

application/json

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).

content
string
Maximum string length: 100000
title
string
Maximum string length: 500
contentType
enum<string>
Available options:
PERSONAL,
BUSINESS_INTERNAL,
BUSINESS_EXTERNAL,
EDUCATIONAL,
UNKNOWN
statusCategory
enum<string>

Move the post to the workspace's default status in this lifecycle category. Mutually exclusive with statusId.

Available options:
suggested,
draft,
inProgress,
review,
scheduled,
published
statusId
string

Move the post to a specific custom status by id (from GET /post-statuses). Mutually exclusive with statusCategory.

scheduledFor
string<date-time> | null

Future ISO timestamp to schedule/reschedule the post (LinkedIn connection verified first). null unschedules. Omit to leave unchanged.

autoLike
boolean

Enable auto-like engagement when the post goes live.

autoComment
boolean

Enable auto-comment engagement when the post goes live.

Response

Post updated.

data
object
required