API Docs/Reference/Get Queue
API Reference

Get Queue

List scheduled posts grouped by day, optionally filtered by status. Requires a paid Creator or Lifetime plan.

GEThttps://api.linkedmash.com/v1/queue

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
curl "https://api.linkedmash.com/v1/queue?status=scheduled" \
  -H "Authorization: Bearer $LINKEDMASH_API_KEY"

Header parameters

AuthorizationstringRequired

Your secret API key as a Bearer token.

Query parameters

Combine these parameters to narrow your results.

statusstringOptional

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.

statusboolean

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.

dataarray

Queue entries grouped by publication date, mirroring the Studio calendar rather than a flat list.

data[].datestring

The calendar date this group covers.

data[].entriesarray

The posts scheduled on that date.

data[].entries[].idstring

The scheduleId for this entry. Use it to cancel or reschedule; it is not the draft id.

data[].entries[].timestring

Local publish time in the entry’s own timezone.

data[].entries[].contentstring

Preview of the post body.

data[].entries[].statusstring

draft, scheduled or published.

data[].entries[].scheduledTimeUTCstring

The absolute publish moment. Sort on this rather than on the local time when merging across timezones.

data[].entries[].timezonestring

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.

1

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.

2

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.

3

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.

4

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.

Status
Meaning
401Unauthorized
The Authorization header is missing or the key is not a valid LinkedMash API key. Create or rotate keys on the API page in your LinkedMash settings.
402Payment Required
Returned with code SUBSCRIPTION_REQUIRED. The content API requires a Creator or Lifetime plan; Reader and free accounts get this on every /v1/posts, /v1/queue, /v1/schedule, /v1/media and /v1/analytics call.
500Server Error
Something failed on our side. The body carries message "Failed to list the queue". Retry once; if it persists the request is not the problem.