Auto-Scheduling

Automatically pick the optimal posting time for your content within a specified date window. Publer analyzes your posting schedule and audience engagement to fill gaps and maximize reach.

Endpoint

POST /api/v1/posts/schedule

Request Headers

Header
Required
Description

Authorization

Yes

Bearer-API YOUR_API_KEY

Publer-Workspace-Id

Yes

Workspace ID

Content-Type

Yes

application/json

Accept

No

application/json (default)

Request Body

Set auto: true and define range to enable auto-scheduling:

{
  "bulk": {
    "state": "scheduled",
    "posts": [
      {
        "networks": {
          "facebook": {
            "type": "status",
            "text": "Let Publer pick the best time for this post!"
          }
        },
        "accounts": [
          { "id": "ACCOUNT_ID" }
        ],
        "range": {
          "start_date": "2025-05-23T07:45:00Z",
          "end_date":   "2025-05-31T23:59:00Z"
        },
        "auto": true
      }
    ]
  }
}

Key Parameters

Field
Type
Description

auto

boolean

Set to true to enable auto-scheduling

range.start_date

string

Earliest ISO 8601 timestamp for posting (inclusive)

range.end_date

string

Latest ISO 8601 timestamp for posting (inclusive, optional)

share_next

boolean

(Optional) When true, schedule in the very next available slot

Examples

Basic Auto-Scheduling

{
  "bulk": {
    "state": "scheduled",
    "posts": [{
      "networks": {
        "facebook": {
          "type": "status",
          "text": "Let Publer choose the best time!"
        }
      },
      "accounts": [{ "id": "66f509f7db2797026a37ba76" }],
      "range": {
        "start_date": "2025-05-23T07:45:00Z",
        "end_date":   "2025-05-31T23:59:00Z"
      },
      "auto": true
    }]
  }
}

Next Available Slot

Omit end_date and set share_next to schedule at the next open slot:

{
  "bulk": {
    "state": "scheduled",
    "posts": [{
      "networks": {
        "facebook": {
          "type": "status",
          "text": "Post in next available slot"
        }
      },
      "accounts": [{ "id": "66f509f7db2797026a37ba76" }],
      "range": { "start_date": "2025-05-23T07:45:00Z" },
      "share_next": true,
      "auto": true
    }]
  }
}

How It Works

  1. Analyze Schedule: Publer looks at your existing posting queue and calendar.

  2. Identify Slots: Finds open time slots based on your account’s posting schedule.

  3. Optimize: Uses audience engagement data to pick a high-impact time within your range.

  4. Schedule: Creates the post at the selected time.

Use Cases

  • Fill Gaps: Keep your queue full without manual scheduling.

  • Engagement Boost: Leverage data-driven timing for better reach.

  • Bulk Campaigns: Auto-schedule large batches within a window.

  • Hands-Off Workflow: Let Publer handle timing so you focus on content.

Best Practices

  • Define Posting Schedule: Ensure your account has active time slots configured.

  • Reasonable Ranges: Provide a wide enough window for better slot selection.

  • Mix Methods: Combine auto-scheduling with manual posts for flexibility.

  • Monitor Jobs: Poll /api/v1/job_status/{job_id} to confirm success.

Common Issues

Issue
Solution

No available slots

Add or open time slots in your posting schedule within the date range.

Suboptimal timing

Expand the date range or refine your posting schedule.

Data insufficient

Post more content manually to build up engagement metrics.

Last updated

Was this helpful?