Action Queue

Get the unified action queue — opportunities and brand fixes ranked by leverage score.

GEThttps://api.boringmarketing.com/brands/{brand_id}/queue

Returns the action queue: a prioritized list of items to act on, combining content opportunities and brand fixes. Pre-sorted by priority.

Path parameters

brand_idstringrequired

The brand UUID.

Query parameters

statusstring

Filter by status: pending, in_progress, done.

Response

{
  "brand_id": "brand-uuid",
  "total": 8,
  "queue": [
    {
      "id": "qi-uuid-1",
      "kind": "opportunity",
      "source_id": "opp-uuid",
      "status": "pending",
      "rank": 1,
      "priority": 0.95,
      "item": {
        "play": "AI Marketing Tools Comparison Guide",
        "summary": "High-intent cluster, 12K volume, KD 34",
        "recommended_format": "comparison",
        "family": "Marketing Automation"
      },
      "created_at": "2026-04-08T12:00:00Z",
      "updated_at": "2026-04-08T12:00:00Z"
    },
    {
      "id": "qi-uuid-2",
      "kind": "insight",
      "source_id": "insight-uuid",
      "status": "pending",
      "rank": 2,
      "priority": 0.88,
      "item": {
        "text": "No Google reviews widget on homepage",
        "category": "trust_gap",
        "severity": "high"
      },
      "created_at": "2026-04-08T12:00:00Z",
      "updated_at": "2026-04-08T12:00:00Z"
    }
  ]
}

The item sub-shape is polymorphic on kind:

kinditem shape
opportunity{ play, summary, recommended_format, family }play and summary mirror the originating opportunity. recommended_format is one of hub_and_spokes, single_article, programmatic, comparison, landing_page.
insight{ text, category, severity }text always resolves to a non-empty string (falls back to the queue row's own action/detail if the upstream insight row was deleted).
Top-level fieldDescription
kindopportunity or insight.
source_idUUID of the underlying OpportunityV2DB or insight row. Useful for cross-referencing back to /opportunities or /insights. Do not pass source_id to POST /brands/{id}/brief — that endpoint expects the queue row's own id (the queue item ID), not the source.
idThe queue item ID. This is the value you pass as queue_item_id to POST /brands/{id}/brief to draft a brief from this queue row.
statusAlways pending on auto-generated rows. The status field exists for client-side workflow tracking; the API does not auto-transition it.
rank1-based ordering position assigned by leverage scoring.
priorityLeverage score from POST /brands/{id}/score. Higher = act first.

Single queue item

Fetch detail for one item:

curl -H "X-API-Key: $BM_API_KEY" \
  https://api.boringmarketing.com/brands/$BRAND_ID/queue/$QUEUE_ID

Example

curl -H "X-API-Key: $BM_API_KEY" \
  "https://api.boringmarketing.com/brands/$BRAND_ID/queue?status=pending"