Skip to content
Ordinal
Esc
↑↓navigate↵open⌘Jpreview

Schedule or reschedule post

Schedule a post for publishing, or reschedule an already scheduled post to a new time. The post must have at least one channel with a connected profile. Archived posts cannot be scheduled; unarchive them first.

POST/posts/{id}/schedule
Authorization
AuthorizationBearer token · headerrequired

API key authentication. Generate an API key from your workspace settings.

Path parameters
idstring<uuid>required

Post ID (UUID)

Request body
application/json
publishAtstring<date-time>

When to publish the post (UTC). Required for new schedules, optional for rescheduling (uses existing publishAt if not provided).

Responses
200

Post scheduled successfully

idstring<uuid>
urlstring<uri>
titlestring
channelsstring[]
statusPostStatus
Allowed:TentativeToDoInProgressForReviewBlockedFinalizedScheduledPosted
publishDatestring

Scheduled publish date (YYYY-MM-DD) in workspace timezone

publishAtstring<date-time>

Scheduled publish datetime UTC

updatedAtstring<date-time>
400

Bad Request - Invalid input parameters

codestring
messagestring
dataobject
Show properties
errorsobject
401

Unauthorized - Missing or invalid API key

codestring
messagestring
404

Not Found - Resource does not exist

codestring
messagestring
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://app.tryordinal.com/api/v1/posts/497f6eca-6276-4993-bfeb-53cbbbba6f08/schedule' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "publishAt": "2026-01-20T14:00:00.000Z"
}'
Response
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "url": "https://app.tryordinal.com/acme/posts/550e8400-e29b-41d4-a716-446655440000",
  "title": "Q4 Product Launch Announcement",
  "channels": [
    "LinkedIn",
    "Twitter"
  ],
  "status": "Scheduled",
  "publishDate": "2026-01-20",
  "publishAt": "2026-01-20T14:00:00.000Z",
  "updatedAt": "2026-01-19T10:30:00.000Z"
}