---
title: "Get Content Review"
method: GET
path: "/api/marketing/content-review"
tags: ["marketing"]
---

# Get Content Review

`GET /api/marketing/content-review`

## Request

- Base URL: `https://api.vruum.ai`
- URL: `https://api.vruum.ai/api/marketing/content-review`
- Auth: `HTTPBearer` (a scheme the document does not define)

Review content post drafts with performance context and calendar awareness.

Returns draft and scheduled LinkedIn posts enriched with: past performance
stats (avg engagement metrics for same content type over last 30 days),
calendar neighbors (other posts within ±3 days to detect topic clustering),
tone instructions from company settings, and a calendar summary.

Attachments (VRU-726): items carry attachment_type (document | single_image
| video), attachment_filename, and attachment_url — OPEN the URL to review
the actual file (a document publishes as a swipeable carousel under the
author's identity; never approve blind). Assets are public-at-upload
(public storage bucket, unguessable URL). error_message surfaces publish
failures (a reverted scheduled post shows up here with its fix).

Use `post_ids` for a deterministic lookup of the post you just drafted;
use this before scheduling or publishing demand gen content.

## Query parameters

- `status` string, nullable: Filter by a single status: draft, scheduled, or failed. Omit for the default draft+scheduled set.
- `content_type` string, nullable: Filter by content type: original, repost_commentary, or video_script
- `post_ids` string[], nullable: Direct lookup of specific post ids (VRU-726) — the deterministic 'review the post I just drafted' path. Bypasses the status filter. Capped at `limit` ids (default 10); extras are dropped.
- `days` integer: Calendar window in days (default 14)
- `limit` integer: Max items to return
- `offset` integer: Pagination offset

## Response `200`

Successful Response

- ContentReviewResponse
  - `items` ContentReviewItem[]
    - `objective_id` string, nullable
    - `post_id` string, required
    - `content` string, nullable
    - `content_type` string, nullable
    - `status` string, nullable
    - `topic_tags` string[], nullable
    - `scheduled_at` string, nullable
    - `created_at` string, nullable
    - `past_performance` object, nullable
    - `calendar_neighbors` object[]
    - `company_writing_guidance` string, nullable: Shared company writing context. Content instructions take priority; execution policies are separate.
    - `content_tone_instructions` string, nullable
    - `author_user_id` string, nullable
    - `attachment_type` string, nullable
    - `attachment_filename` string, nullable
    - `attachment_url` string, nullable
    - `attachment_size_bytes` integer, nullable
    - `error_message` string, nullable
    - `error_code` string, nullable
    - `action_id` string, nullable
    - `action_state` string, nullable
    - `action_version` integer, nullable
  - `total_pending` integer
  - `offset` integer
  - `limit` integer
  - `calendar_summary` object, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/vruum/apis/vruum-public-api.md) · [All operations](https://skmtc.dev/vruum/apis/vruum-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vruum/apis/vruum-public-api/revisions/b8ada111c30a?raw)
