Skip to main content
POST
/
posts
Create a draft (or scheduled) post
curl --request POST \
  --url https://api.scripe.io/v1/posts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "projectId": "proj_a1b2c3d4e5f6g7h8",
  "content": "<string>",
  "title": "<string>",
  "contentType": "PERSONAL",
  "scheduledFor": "2023-11-07T05:31:56Z"
}
'
{
  "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}$

Body

application/json
projectId
string
required
Example:

"proj_a1b2c3d4e5f6g7h8"

content
string

Post body. Defaults to a single space (TipTap rejects truly-empty content).

Maximum string length: 100000
title
string
Maximum string length: 500
contentType
enum<string>
default:PERSONAL
Available options:
PERSONAL,
BUSINESS_INTERNAL,
BUSINESS_EXTERNAL,
EDUCATIONAL,
UNKNOWN
scheduledFor
string<date-time> | null

Future ISO timestamp at which the post should publish. If omitted/null, the post stays in draft.

Response

Post created (or replayed via Idempotency-Key).

data
object
required