Skip to main content

Queue & Scheduling

Manage the smart queue that automatically spaces your posts across configured time slots, and control scheduled posts that are waiting to be published.


List Scheduled Posts​

GET https://api.indreelforge.com/api/schedule

Returns all posts currently in a scheduled state for the authenticated account, ordered by their scheduled date ascending.

curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
https://api.indreelforge.com/api/schedule

Response​

{
"scheduled_posts": [
{
"id": "upload_abc123",
"title": "Product launch reel",
"description": "Check out our new feature drop!",
"upload_type": "video",
"platforms": ["instagram", "tiktok"],
"platform_statuses": {
"instagram": "pending",
"tiktok": "pending"
},
"scheduled_at": "2026-04-20T09:00:00.000Z",
"timezone": "America/New_York",
"created_at": "2026-04-18T14:32:00.000Z"
}
]
}

Edit Scheduled Post​

PATCH https://api.indreelforge.com/api/schedule/:jobId

Updates one or more fields of a scheduled post. The post must still have scheduled status — posts that have already been picked up for publishing will return a 409 conflict.

ParameterTypeRequiredDescription
scheduled_datestringNoNew publish time in ISO-8601 format. Must be in the future and within 1 year.
timezonestringNoIANA timezone name (e.g. America/New_York)
titlestringNoUpdated post title
captionstringNoUpdated post caption / description

At least one field must be provided.

curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"scheduled_date": "2026-04-21T12:00:00.000Z", "caption": "Updated caption!"}' \
-X PATCH https://api.indreelforge.com/api/schedule/upload_abc123

Response​

{
"success": true,
"message": "Scheduled post updated",
"post": {
"id": "upload_abc123",
"title": "Product launch reel",
"caption": "Updated caption!",
"scheduled_date": "2026-04-21 12:00:00",
"platforms": ["instagram", "tiktok"]
}
}

Cancel Scheduled Post​

DELETE https://api.indreelforge.com/api/schedule/:jobId

Cancels a scheduled post and decrements the account's monthly upload count since the post was never published. Returns 409 if the scheduler has already claimed the post for publishing.

curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-X DELETE https://api.indreelforge.com/api/schedule/upload_abc123

Response​

{
"success": true,
"message": "Scheduled post cancelled successfully"
}

Get Queue Settings​

GET https://api.indreelforge.com/api/queue/settings?profile=username

Returns the queue configuration for a specific profile. If no settings have been saved, the default schedule (09:00, 12:00, 17:00 on weekdays) is returned.

ParameterTypeRequiredDescription
profilestringYesProfile username (query string)
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/queue/settings?profile=myprofile'

Response​

{
"profile": "myprofile",
"timezone": "America/Los_Angeles",
"slots": [
{ "time": "09:00" },
{ "time": "12:00" },
{ "time": "17:00" }
],
"days_of_week": [1, 2, 3, 4, 5],
"max_posts_per_slot": 1
}

days_of_week uses Sunday = 0 through Saturday = 6.


Update Queue Settings​

POST https://api.indreelforge.com/api/queue/settings

Creates or replaces the queue schedule for a profile. Existing scheduled posts are not affected — only future auto-queuing behaviour changes.

ParameterTypeRequiredDescription
profile_usernamestringYesProfile username
timezonestringNoIANA timezone name. Defaults to UTC.
slotsarray of stringsNoTime slots in HH:MM format (max 24). Defaults to ["09:00","12:00","17:00"].
days_of_weekarray of integersNoDays to post; 0 = Sunday, 6 = Saturday. Defaults to [1,2,3,4,5].
max_posts_per_slotintegerNoMax posts per slot, 1–10. Defaults to 1.
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"profile_username": "myprofile",
"timezone": "America/Los_Angeles",
"slots": ["08:00", "13:00", "18:30"],
"days_of_week": [1, 2, 3, 4, 5, 6],
"max_posts_per_slot": 2
}' \
-X POST https://api.indreelforge.com/api/queue/settings

Response​

{
"success": true,
"profile": "myprofile",
"timezone": "America/Los_Angeles",
"slots": [
{ "time": "08:00" },
{ "time": "13:00" },
{ "time": "18:30" }
],
"days_of_week": [1, 2, 3, 4, 5, 6],
"max_posts_per_slot": 2
}

Preview Queue Slots​

GET https://api.indreelforge.com/api/queue/preview?profile=username&count=10

Returns the next upcoming queue slots for a profile, indicating whether each slot is already occupied by a scheduled post. Useful for showing a calendar view of upcoming availability.

ParameterTypeRequiredDescription
profilestringYesProfile username
countintegerNoNumber of slots to return (default 10, max 50)
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/queue/preview?profile=myprofile&count=5'

Response​

{
"profile": "myprofile",
"timezone": "America/Los_Angeles",
"count": 5,
"slots": [
{
"scheduled_date": "2026-04-19T09:00:00.000Z",
"slot_time": "09:00",
"day": "Sunday",
"available": true
},
{
"scheduled_date": "2026-04-19T12:00:00.000Z",
"slot_time": "12:00",
"day": "Sunday",
"available": false
}
]
}

available: false means a scheduled post already occupies that slot.


Get Next Available Slot​

GET https://api.indreelforge.com/api/queue/next-slot?profile=username

Returns the single next queue slot that is not yet occupied by a scheduled post. Searches up to 90 days ahead.

ParameterTypeRequiredDescription
profilestringYesProfile username
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/queue/next-slot?profile=myprofile'

Response​

{
"profile": "myprofile",
"timezone": "America/Los_Angeles",
"next_slot": "2026-04-20T09:00:00.000Z",
"slot_time": "09:00",
"day": "Monday"
}

If no slot is available within 90 days, next_slot will be null and a message field will explain.


Block a Slot​

POST https://api.indreelforge.com/api/queue/slot-full

Manually marks a specific time slot as blocked so the auto-queue will skip it. Use this to reserve time around events or blackout specific dates.

ParameterTypeRequiredDescription
profilestringYesProfile username
slot_timestringYesISO-8601 datetime of the slot to block
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"profile": "myprofile", "slot_time": "2026-04-20T09:00:00.000Z"}' \
-X POST https://api.indreelforge.com/api/queue/slot-full

Response​

{
"success": true,
"profile": "myprofile",
"slot_time": "2026-04-20 09:00:00"
}

Unblock a Slot​

DELETE https://api.indreelforge.com/api/queue/slot-full

Removes a manual block from a previously blocked slot, making it available to the auto-queue again.

ParameterTypeRequiredDescription
profilestringYesProfile username
slot_timestringYesISO-8601 datetime of the slot to unblock
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"profile": "myprofile", "slot_time": "2026-04-20T09:00:00.000Z"}' \
-X DELETE https://api.indreelforge.com/api/queue/slot-full

Response​

{
"success": true,
"profile": "myprofile",
"slot_time": "2026-04-20 09:00:00"
}