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.
POST
https://api.postpiper.ai/v1/posts/{postId}/scheduleThe 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
| Name | Type | Description |
|---|---|---|
| postId | UUID, required | ID of an owned draft. |
Request body
| Name | Type | Description |
|---|---|---|
| scheduled_at | ISO 8601 string, required | Future 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.