PowerPost APIv1
PowerPost APIv1
DashboardAPI keysPowerPost API
QuickstartAuthenticationWorkspacesErrors & Rate Limits
Input TypesPost TypesCreditsResearch Modes
Generate CaptionsGenerate ImagesPublish and ScheduleWebhooksMCP Server

Content

Generate ContentGenerations

Media

Upload MediaGenerate ImagesGenerate VideosVideo Captions

Publishing & planning

PostsPublish & SchedulePost ItemsAnalyticsCalendar

Account

Get Credits
Changelog
API reference

Calendar

Manage content calendar entries for planning and scheduling posts.

List Entries

GET /api/v1/calendar/entries

Retrieve calendar entries within a date range.


Query Parameters

ParameterTypeRequiredDescription
start_datestringYesStart date in YYYY-MM-DD format
end_datestringYesEnd date in YYYY-MM-DD format

start_date must be on or before end_date, and the range must not exceed 366 days. Requests outside these bounds return 400.

Example

curl "https://powerpost.ai/api/v1/calendar/entries?start_date=2026-03-01&end_date=2026-03-31" \
  -H "x-api-key: pp_live_sk_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID"

Response

{
  "entries": [
    {
      "entry_id": "550e8400-e29b-41d4-a716-446655440000",
      "title": "Product launch announcement",
      "description": "Share the new feature across all channels",
      "scheduled_date": "2026-03-25",
      "scheduled_time": "14:00",
      "platforms": ["instagram", "tiktok", "x"],
      "created_at": "2026-03-19T10:00:00Z",
      "updated_at": "2026-03-19T10:00:00Z"
    }
  ]
}

Create Entry

POST /api/v1/calendar/entries

Create a new calendar entry for planning future content.


Request Body

FieldTypeRequiredDescription
titlestringYesEntry title (max 500 characters)
descriptionstringNoEntry description (max 5000 characters)
scheduled_datestringYesTarget date in YYYY-MM-DD format
scheduled_timestringNoTarget time in HH:MM format
platformsstring[]NoPlatform names to target. See Post types. Omit for all.

Example

curl -X POST https://powerpost.ai/api/v1/calendar/entries \
  -H "x-api-key: pp_live_sk_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Product launch announcement",
    "description": "Share the new feature across all channels",
    "scheduled_date": "2026-03-25",
    "scheduled_time": "14:00",
    "platforms": ["instagram", "tiktok", "x"]
  }'

Response

{
  "entry_id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Product launch announcement",
  "description": "Share the new feature across all channels",
  "scheduled_date": "2026-03-25",
  "scheduled_time": "14:00",
  "platforms": ["instagram", "tiktok", "x"],
  "created_at": "2026-03-19T10:00:00Z",
  "updated_at": "2026-03-19T10:00:00Z"
}

Get Entry

GET /api/v1/calendar/entries/{id}

Retrieve a single calendar entry by ID.


Path Parameters

ParameterTypeDescription
idstringThe calendar entry ID (UUID)

Example

curl https://powerpost.ai/api/v1/calendar/entries/550e8400-e29b-41d4-a716-446655440000 \
  -H "x-api-key: pp_live_sk_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID"

Response

{
  "entry_id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Product launch announcement",
  "description": "Share the new feature across all channels",
  "scheduled_date": "2026-03-25",
  "scheduled_time": "14:00",
  "platforms": ["instagram", "tiktok", "x"],
  "created_at": "2026-03-19T10:00:00Z",
  "updated_at": "2026-03-19T10:00:00Z"
}

Update Entry

PATCH /api/v1/calendar/entries/{id}

Update an existing calendar entry. Only include the fields you want to change. At least one field must be provided — sending an empty body returns 400.


Path Parameters

ParameterTypeDescription
idstringThe calendar entry ID (UUID)

Request Body

FieldTypeRequiredDescription
titlestringNoEntry title (max 500 characters)
descriptionstringNoEntry description (max 5000 characters)
scheduled_datestringNoTarget date in YYYY-MM-DD format
scheduled_timestringNoTarget time in HH:MM format
platformsstring[]NoPlatform names to target. See Post types. Omit for all.

Example

curl -X PATCH https://powerpost.ai/api/v1/calendar/entries/550e8400-e29b-41d4-a716-446655440000 \
  -H "x-api-key: pp_live_sk_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Updated launch announcement",
    "scheduled_date": "2026-03-28"
  }'

Response

{
  "entry_id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Updated launch announcement",
  "description": "Share the new feature across all channels",
  "scheduled_date": "2026-03-28",
  "scheduled_time": "14:00",
  "platforms": ["instagram", "tiktok", "x"],
  "created_at": "2026-03-19T10:00:00Z",
  "updated_at": "2026-03-20T09:15:00Z"
}

Delete Entry

DELETE /api/v1/calendar/entries/{id}

Delete a calendar entry.


Path Parameters

ParameterTypeDescription
idstringThe calendar entry ID (UUID)

Example

curl -X DELETE https://powerpost.ai/api/v1/calendar/entries/550e8400-e29b-41d4-a716-446655440000 \
  -H "x-api-key: pp_live_sk_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID"

Response

{
  "success": true
}

Errors

CodeDescription
400Invalid request (missing fields, bad date format)
401Invalid API key
403Workspace access denied
404Calendar entry not found
429Rate limit exceeded

Analytics

Fetch performance metrics for published post items.

Get Credits

Check your current credit balance.

On this page

List EntriesQuery ParametersExampleResponseCreate EntryRequest BodyExampleResponseGet EntryPath ParametersExampleResponseUpdate EntryPath ParametersRequest BodyExampleResponseDelete EntryPath ParametersExampleResponseErrors