> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.usegrade.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Content review

> Read the review queue and approve, reject, or reset posts.

Content review must be enabled for the agency. A key cannot enable a feature by calling these endpoints: disabled agencies receive `403`.

## Read the queue

`GET /sdk/v1/content-review` requires `campaigns:read`.

Filters: `campaignId`, `campaignCreatorRecordId`, `creatorEmail`, `platform`, `reviewStatus` (`UNREVIEWED`, `APPROVED`, or `REJECTED`), `startDate`, `endDate`, `page`, `limit`, `sortBy`, and `sortOrder`. The default page is 1 and default limit is 25.

```bash theme={null}
curl "$GRADE_API_BASE/sdk/v1/content-review?reviewStatus=UNREVIEWED&page=1&limit=25" \
  -H "x-application-id: $GRADE_APPLICATION_ID" \
  -H "x-api-key: $GRADE_API_KEY"
```

The response contains `success`, a `data` array, and `pagination`. `GET /sdk/v1/content-review/filters` returns the agency's available filter options and also requires `campaigns:read`.

## Review a post

`PATCH /sdk/v1/campaign-media/:campaignCreatorMediaId/review-status` requires `campaigns:write`.

```json theme={null}
{ "status": "APPROVED" }
```

Use `REJECTED` to reject or `UNREVIEWED` to undo a decision. Resetting clears the review timestamp and reviewer. Only live post rows can be reviewed; accounts, deleted media, and retired media are ineligible. Completed campaigns return `409`.

The response's `data` contains `campaignCreatorMediaId`, `campaignCreatorRecordId`, `campaignId`, `creatorProfileId`, `contentReviewStatus`, `contentReviewStatusLabel`, and `contentReviewedAt`. Payment eligibility and pending totals are recalculated using the platform's review rules.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.