For the complete documentation index, see llms.txt. This page is also available as Markdown.

Creating Posts

The Posts Create endpoints let you asynchronously schedule, draft, or immediately publish content across one or more social networks. Submit a batch request, receive a job ID, then poll for completion.

Requirements

  • Authentication: Bearer API token

  • Scopes: posts, media

  • Headers:

    • Authorization: Bearer-API YOUR_API_KEY

    • Publer-Workspace-Id: YOUR_WORKSPACE_ID

Core Concepts

Asynchronous Workflow

Submit Request  →  Receive Job ID  →  Poll Job Status  →  Processing Complete
  1. Submit Request to /posts/schedule or /posts/schedule/publish

  2. Receive { "job_id": "…" }

  3. Poll /job_status/{job_id} until status: "completed"

  4. Handle results or errors

Common Request Structure

All create requests share this shape:

  • bulk: batch container

  • state: how to handle content (see Publishing Methods)

  • posts: array of post definitions

  • networks: per-network content config

  • accounts: target profiles with scheduling overrides

Endpoints

Endpoint

Purpose

Result

/api/v1/posts/schedule

Schedule posts for future publication including drafts

Scheduled post or draft

/api/v1/posts/schedule/publish

Publish content immediately

Published post

/api/v1/job_status/{job_id}

Check status of submitted job

Job status

Publishing Methods

The state parameter determines how your content will be handled:

State

Description

Additional Parameters

scheduled

Schedule for specific date/time

scheduled_at (ISO timestamp)

draft, draft_private, draft_public

Save as draft

None required

scheduled + auto: true

Use AI-powered auto-scheduling

range.start_date, range.end_date

scheduled + recycling

Reuse content multiple times

recycling.gap, recycling.expire_count

recurring

Create repeating posts

recurring.repeat, recurring.days_of_week

Content Types

The type parameter specifies the content format:

Type

Description

Required Properties

status

Text-only post

text

photo

Image post

text, media array

video

Video post

text, media array

link

Link post with preview

text, url

carousel

Multi-image post

text, media array

pdf

PDF document (LinkedIn)

text, media array

Network Providers

Supported platforms and their keys under networks: facebook, instagram, twitter, linkedin, pinterest, youtube, tiktok, google, wordpress_basic (self-hosted wordpress), wordpress_oauth (hosted on wordpress), telegram, mastodon, threads, bluesky.

Job Status

Poll your job with:

Response:

Common Patterns

Network-Specific Content

To customize content for specific platforms:

Media References

Media files must be pre-uploaded and referenced by ID, see Media Handling:

Schedule posts

post

Schedule one or more posts for publishing. Supports immediate publishing, scheduled publishing, auto-scheduling, recurring posts, and more.

Authorizations
AuthorizationstringRequired

API key authentication. Format: "Bearer-API YOUR_API_KEY"

Header parameters
Publer-Workspace-IdstringRequired

ID of the workspace to schedule posts in

Body
Responses
200

Posts scheduled successfully

application/json
successbooleanOptional

Whether the job was created successfully

Example: true
post
/posts/schedule

Create post

post

Creates a new social media post. Can be scheduled for immediate publishing, future publishing, or saved as a draft.

Authorizations
AuthorizationstringRequired

API key authentication. Format: "Bearer-API YOUR_API_KEY"

Header parameters
Publer-Workspace-IdstringRequired

ID of the workspace to create post in

Body
Responses
200

Post creation job initiated

application/json
successbooleanOptional

Whether the job was created successfully

Example: true
post
/posts/schedule/publish

Get job status

get

Check the status of an asynchronous job, including URL media uploads

Authorizations
AuthorizationstringRequired

API key authentication. Format: "Bearer-API YOUR_API_KEY"

Path parameters
job_idstringRequired

ID of the job to check

Header parameters
Publer-Workspace-IdstringRequired

ID of the workspace to retrieve posts from

Responses
200

Job status retrieved successfully

application/json
successbooleanOptional

Whether the request was successful

Example: true
get
/job_status/{job_id}

Next Steps

This overview covers the essential concepts for creating posts with the Publer API. For detailed information about specific features, refer to:

Last updated

Was this helpful?