Skip to main content
POST
/
posts
/
{id}
/
schedule
Schedule or reschedule post
curl --request POST \
  --url https://app.tryordinal.com/api/v1/posts/{id}/schedule \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "publishAt": "2026-01-20T14:00:00.000Z"
}
'
{
  "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"
}

Authorizations

Authorization
string
header
required

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

Path Parameters

id
string<uuid>
required

Post ID (UUID)

Body

application/json
publishAt
string<date-time>

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

Response

Post scheduled successfully

id
string<uuid>
url
string<uri>
title
string
channels
string[]
status
enum<string>
Available options:
Tentative,
ToDo,
InProgress,
ForReview,
Blocked,
Finalized,
Scheduled,
Posted
publishDate
string

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

publishAt
string<date-time>

Scheduled publish datetime UTC

updatedAt
string<date-time>