API Reference / Posts

Schedule a post

PostPiper API: schedule an owned X, LinkedIn, or Pinterest draft for a future time using ISO 8601 scheduled_at. Requires a connected account.

POSThttps://api.postpiper.ai/v1/posts/{postId}/schedule

The post must be an owned draft with a matching connected account. Supply a future ISO 8601 time with an explicit time zone. LinkedIn requires text and authorization that remains valid past the scheduled time. The response normalizes scheduled_at to UTC.

Path and query parameters

NameTypeDescription
postIdUUID, requiredID of an owned draft.

Request body

NameTypeDescription
scheduled_atISO 8601 string, requiredFuture date and time with Z or an explicit offset.

Example request

Terminal
curl -X POST "https://api.postpiper.ai/v1/posts/<post-uuid>/schedule" \
  -H "Authorization: Bearer $POSTPIPER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scheduled_at":"2030-10-13T09:00:00+08:00"}'

Response

200 OK after the scheduling workflow starts.

JSON
{
  "post": {
    "id": "<post-uuid>",
    "content": "Hello from PostPiper",
    "media_urls": [],
    "asset_ids": [],
    "platform": "x",
    "status": "scheduled",
    "account_id": "<account-uuid>",
    "created_at": "2030-10-12T01:00:00.000Z",
    "scheduled_at": "2030-10-13T01:00:00.000Z"
  }
}

Errors

  • 400INVALID_SCHEDULED_AT.
  • 401Missing or invalid API key.
  • 403API key lacks the required scope.
  • 409POST_NOT_DRAFT.
  • 503SCHEDULING_UNAVAILABLE.