Get Queue
List scheduled posts grouped by day, optionally filtered by status. Requires a paid Creator or Lifetime plan.
GET /v1/queue returns the account's posting queue — the schedule entries for posts that are waiting to publish, and the ones that already have. Pass status to narrow to draft, scheduled or published. Each entry carries the scheduleId used by the cancel and reschedule routes.
This is the read you want for a calendar view or a 'what is going out this week' check, as distinct from GET /v1/posts, which lists the drafts themselves.
Example request
Authenticate with a bearer token in the Authorization header. Create a key on the API page in your LinkedMash settings and export it as LINKEDMASH_API_KEY before running this.
curl "https://api.linkedmash.com/v1/queue?status=scheduled" \
-H "Authorization: Bearer $LINKEDMASH_API_KEY"Header parameters
Your secret API key as a Bearer token.
Query parameters
Combine these parameters to narrow your results.
Filter by status: draft, scheduled, or published.
Response
{
"status": true,
"data": [
{
"date": "2026-06-24",
"entries": [
{
"id": "sch_3a9f81d2",
"time": "8:30 am",
"content": "5 lessons from shipping every week for a year:",
"status": "scheduled",
"scheduledTimeUTC": "2026-06-24T08:30:00.000Z",
"timezone": "America/New_York"
}
]
}
]
}Response fields
Every response is wrapped in the same envelope: a status flag and a data payload, with meta present where there is pagination or a plan limit to report.
true on success. Every LinkedMash API response carries this envelope flag alongside data, so a client can branch on it without re-reading the HTTP status.
Queue entries grouped by publication date, mirroring the Studio calendar rather than a flat list.
The calendar date this group covers.
The posts scheduled on that date.
The scheduleId for this entry. Use it to cancel or reschedule; it is not the draft id.
Local publish time in the entry’s own timezone.
Preview of the post body.
draft, scheduled or published.
The absolute publish moment. Sort on this rather than on the local time when merging across timezones.
IANA zone the local time is expressed in.
Rendering and managing a publishing calendar
The queue is the source of truth for timing; GET /v1/posts is the source of truth for text.
Read the queue for the week
Entries come back grouped by date, which maps directly onto a calendar view without any bucketing on your side.
Sort on scheduledTimeUTC
Each entry carries both a local time and an absolute UTC moment. Sorting on the local time across mixed timezones puts posts in the wrong order.
Collect the entry ids
entries[].id is the scheduleId. It is what the cancel and reschedule routes take, and it is not the draft id shown by GET /v1/posts.
Fill gaps from the slot list
GET /v1/queue/slots returns the free times the grid still offers. Combined with this list you can show a full week of both booked and available slots.
Behaviour and limits
Requires a Creator or Lifetime plan
Everything under /v1/posts, /v1/queue, /v1/schedule, /v1/media and /v1/analytics sits behind one middleware that checks for an unlocked Studio, so a Reader-plan or free key gets 402 with code SUBSCRIPTION_REQUIRED before the handler runs. Bookmark and label reads are on a separate router and are not affected by this gate.
Queue entries and drafts have different ids
A queue entry has its own scheduleId, separate from the draft id it points at. Cancelling and rescheduling both take the scheduleId; updating the text takes the draft id.
Grouped by day
Entries come back grouped by publication date rather than as one flat chronological list, which mirrors how the Studio calendar renders them.
Empty is an empty array, not a 404
An account with nothing scheduled returns 200 with data: [].
Errors
Failures carry the same envelope as a success, with the reason in message and a stable machine-readable code where the status alone is ambiguous — several distinct conditions share a 402.