Queue
Configure posting schedules, time slots, and queue management for automated posting
Get queue schedules for a profile
Retrieve queue schedules for a profile. Each profile can have multiple queues.
- Without
all=true: Returns the default queue (or specific queue if queueId provided) - With
all=true: Returns all queues for the profile
API key authentication - use your Late API key as a Bearer token
In: header
Query Parameters
Profile ID to get queues for
Specific queue ID to retrieve (optional)
Set to 'true' to list all queues for the profile
"true"Response Body
application/json
application/json
curl -X GET "https://getlate.dev/api/v1/queue/slots?profileId=string"{
"exists": true,
"schedule": {
"_id": "64f0a1b2c3d4e5f6a7b8c9d1",
"profileId": "64f0a1b2c3d4e5f6a7b8c9d0",
"name": "Morning Posts",
"timezone": "America/New_York",
"slots": [
{
"dayOfWeek": 1,
"time": "09:00"
},
{
"dayOfWeek": 3,
"time": "09:00"
},
{
"dayOfWeek": 5,
"time": "10:00"
}
],
"active": true,
"isDefault": true
},
"nextSlots": [
"2024-11-04T09:00:00-05:00",
"2024-11-06T09:00:00-05:00"
]
}{
"error": "Unauthorized"
}Create a new queue for a profile
Create an additional queue for a profile. The first queue created becomes the default. Subsequent queues are non-default unless explicitly set.
API key authentication - use your Late API key as a Bearer token
In: header
Profile ID
Queue name (e.g., Evening Posts)
IANA timezone
trueResponse Body
application/json
application/json
curl -X POST "https://getlate.dev/api/v1/queue/slots" \ -H "Content-Type: application/json" \ -d '{ "profileId": "64f0a1b2c3d4e5f6a7b8c9d0", "name": "Evening Posts", "timezone": "America/New_York", "slots": [ { "dayOfWeek": 1, "time": "18:00" }, { "dayOfWeek": 3, "time": "18:00" }, { "dayOfWeek": 5, "time": "18:00" } ], "active": true }'{
"success": true,
"schedule": {
"_id": "string",
"profileId": "string",
"name": "string",
"timezone": "string",
"slots": [
{
"dayOfWeek": 6,
"time": "string"
}
],
"active": true,
"isDefault": true,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
},
"nextSlots": [
"2019-08-24T14:15:22Z"
]
}{
"error": "Unauthorized"
}Delete a queue schedule
Delete a queue from a profile. Requires queueId to specify which queue to delete. If deleting the default queue, another queue will be promoted to default.
API key authentication - use your Late API key as a Bearer token
In: header
Query Parameters
Queue ID to delete
Response Body
application/json
application/json
curl -X DELETE "https://getlate.dev/api/v1/queue/slots?profileId=string&queueId=string"{
"success": true,
"deleted": true
}{
"error": "Unauthorized"
}Create or update a queue schedule
Create a new queue or update an existing one.
- Without queueId: Creates or updates the default queue
- With queueId: Updates the specific queue
- With setAsDefault=true: Makes this queue the default for the profile
API key authentication - use your Late API key as a Bearer token
In: header
Queue ID to update (optional)
Queue name
trueMake this queue the default
Whether to reschedule existing queued posts to match new slots
falseResponse Body
application/json
application/json
curl -X PUT "https://getlate.dev/api/v1/queue/slots" \ -H "Content-Type: application/json" \ -d '{ "profileId": "64f0a1b2c3d4e5f6a7b8c9d0", "queueId": "64f0a1b2c3d4e5f6a7b8c9d1", "name": "Morning Posts", "timezone": "America/New_York", "slots": [ { "dayOfWeek": 1, "time": "09:00" }, { "dayOfWeek": 3, "time": "09:00" }, { "dayOfWeek": 5, "time": "10:00" } ], "active": true, "setAsDefault": false }'{
"success": true,
"schedule": {
"_id": "64f0a1b2c3d4e5f6a7b8c9d1",
"profileId": "64f0a1b2c3d4e5f6a7b8c9d0",
"name": "Morning Posts",
"timezone": "America/New_York",
"slots": [
{
"dayOfWeek": 1,
"time": "09:00"
},
{
"dayOfWeek": 3,
"time": "09:00"
},
{
"dayOfWeek": 5,
"time": "10:00"
}
],
"active": true,
"isDefault": true
},
"nextSlots": [
"2024-11-04T09:00:00-05:00",
"2024-11-06T09:00:00-05:00"
],
"reshuffledCount": 0
}{
"error": "Unauthorized"
}Preview upcoming queue slots for a profile
API key authentication - use your Late API key as a Bearer token
In: header
Query Parameters
201 <= value <= 100Response Body
application/json
application/json
curl -X GET "https://getlate.dev/api/v1/queue/preview?profileId=string"{
"profileId": "64f0a1b2c3d4e5f6a7b8c9d0",
"count": 10,
"slots": [
"2024-11-04T09:00:00-05:00",
"2024-11-04T14:00:00-05:00",
"2024-11-06T09:00:00-05:00",
"2024-11-08T10:00:00-05:00",
"2024-11-11T09:00:00-05:00",
"2024-11-11T14:00:00-05:00",
"2024-11-13T09:00:00-05:00",
"2024-11-15T10:00:00-05:00",
"2024-11-18T09:00:00-05:00",
"2024-11-18T14:00:00-05:00"
]
}{
"error": "Unauthorized"
}Preview the next available queue slot (informational only)
Returns the next available queue slot for preview/informational purposes.
Important: To schedule a post to the queue, do NOT use this endpoint's response
with scheduledFor. That creates a manual post, not a queue post.
Instead, use POST /v1/posts with queuedFromProfile (and optionally queueId).
The system will automatically assign the next available slot with proper locking
to prevent race conditions.
This endpoint is useful for:
- Showing users when their next post will go out before they commit
- Debugging/verifying queue configuration
- Building UI previews
If no queueId is specified, uses the profile's default queue.
API key authentication - use your Late API key as a Bearer token
In: header
Query Parameters
Specific queue ID (optional, defaults to profile's default queue)
Response Body
application/json
application/json
curl -X GET "https://getlate.dev/api/v1/queue/next-slot?profileId=string"{
"profileId": "64f0a1b2c3d4e5f6a7b8c9d0",
"nextSlot": "2024-11-04T09:00:00-05:00",
"timezone": "America/New_York",
"queueId": "64f0a1b2c3d4e5f6a7b8c9d1",
"queueName": "Morning Posts"
}{
"error": "Unauthorized"
}