ForHosting KIT · Developer Utilities

Fill content calendar posting slots from a weekly frequency

Turn an ordered backlog into a dated publishing plan without manually counting days or copying rows around a spreadsheet.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Provide your content pieces, the first available date, and the number of posts you want each week. The tool keeps the original order, spreads posting slots consistently through consecutive seven-day blocks, and returns a clear schedule with each piece, date, week, and slot number. The calculation is deterministic, so the same inputs always produce the same calendar and can be reused safely in automated workflows.

Prepare an ordered content queue

Start by arranging the content pieces in the exact sequence in which they should appear. A piece can be a working title, campaign label, asset identifier, or concise description, as long as it is a non-empty text value. The scheduler does not prioritize, rewrite, or categorize the material; it preserves the supplied order so editorial decisions remain under your control. Choose a start date that represents the first available publishing slot, not merely the day when planning begins. The first piece is assigned to that date. Then enter a positive whole-number frequency such as one, three, or seven posts per week. Keeping these three inputs explicit makes the resulting plan easy to audit: anyone can trace a scheduled row back to its source position, understand which seven-day block it belongs to, and see its numbered slot within that week. If campaign dependencies matter, settle those dependencies in the queue before generating dates, because the calendar deliberately treats order as authoritative rather than making hidden assumptions about importance.

Understand how posting dates are distributed

Each scheduling week is a consecutive seven-day block anchored to the supplied start date; it does not automatically begin on Monday or follow a locale-specific week boundary. Within that block, dates are calculated from the piece position with a stable proportional spacing rule. For three posts per week, for example, the offsets are day zero, day two, and day four, after which the next piece begins on day seven. This approach keeps the requested weekly count while distributing slots across the block instead of packing every post onto the first day. When the frequency exceeds seven, more than one slot can fall on the same calendar date, which is a useful and intentional representation of multiple daily posts. Calendar arithmetic follows Gregorian leap-year and month-length rules without relying on time zones or clock timestamps. As a result, daylight-saving changes cannot shift a scheduled date, and repeated runs with identical input return identical output suitable for tests, imports, and approval records.

Use the schedule in an editorial workflow

The response includes the normalized start date, posting frequency, total piece count, final scheduled date, and one schedule record per input piece. Every record carries its one-based position, original content text, assigned date, week number, and slot number within that week. Those fields make the result practical for several destinations: copy the rows into a content management system, join them to a richer asset table by position or text, or show reviewers exactly how a backlog fits into the available cadence. Treat the result as a slot plan rather than an automatic publication action; it does not send posts, contact social networks, check holidays, avoid weekends, or account for channel-specific optimal times. If a team pauses a campaign, changes cadence, or inserts a priority item, update the ordered input and generate the calendar again. Because pricing is expressed as $0.002 per request and the calculation is deterministic, automated planning jobs can regenerate complete schedules predictably whenever their source backlog changes.

Schedule a campaign backlog

Map an approved sequence of launch posts to dates while preserving the campaign narrative and chosen weekly cadence.

Plan an editorial queue

Convert article titles or asset identifiers into a dated calendar that editors can review and import into another system.

Rebuild dates after a cadence change

Regenerate every slot consistently when a team increases or reduces its planned number of weekly posts.

What does a week mean in this schedule?

A week is a seven-day block beginning on the supplied start date, regardless of the weekday on which that date falls.

Is the first content piece posted on the start date?

Yes. The start date is treated as the first available slot, so the first piece receives that date.

Can multiple pieces receive the same date?

Yes. Frequencies above seven posts per week necessarily create multiple slots on some dates, and each piece still receives a distinct slot number.

Does it skip weekends or holidays?

No. It distributes slots across consecutive calendar days. Remove unavailable days in a downstream workflow or adjust the resulting plan if business-day rules are required.

What happens when the frequency is zero or negative?

The request fails with an invalid input error because posts per week must be a positive integer.

How much does a request cost?

Each request costs $0.002. The same deterministic calculation is also suitable for the browser-based runner.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/biz/content-calendar-slot-fill

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/biz/content-calendar-slot-fill \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content_pieces":["Product launch announcement","Customer success story","Behind-the-scenes video","Monthly tips roundup"],"posts_per_week":3,"start_date":"2026-08-03"}'
{
  "content_pieces": [
    "Product launch announcement",
    "Customer success story",
    "Behind-the-scenes video",
    "Monthly tips roundup"
  ],
  "posts_per_week": 3,
  "start_date": "2026-08-03"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "biz.content_calendar_slot_fill",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →