Skip to content

List an author's moderations

GET/v1/authors/{external_id}/moderationsKey scope read

Lists an author's moderations, newest first, as compact summaries. A summary has the verdict, the recommendation, the triggered policies and a text preview, not the full moderation. Fetch GET /v1/moderations/{id} for the scores and the details.

Needs a key with the read scope. Authentication

curl "https://api.useinfrared.com/v1/authors/user_4821/moderations?limit=2" \
  -H "Authorization: Bearer $INFRARED_KEY"
200 OKResponse
{
  "object": "list",
  "data": [
    {
      "object": "moderation",
      "id": "mod_6N1eLwABe6dRMHtzC53hc2",
      "type": "text",
      "template": "review",
      "status": "completed",
      "flagged": true,
      "recommendation": "reject",
      "severity": "critical",
      "triggered": ["spam", "links_contact", "instructions"],
      "preview": "Skip this shop. I buy mine at https://deals.example.com with the code SAVE20 and get 20% off.",
      "content_id": "review_9033",
      "author_id": "aut_7ZRftUOZyMjsmFWvJifaOJ",
      "author_external_id": "user_4821",
      "language": "en",
      "latency_ms": 2253,
      "dry_run": false,
      "test": false,
      "created_at": "2026-10-08T09:28:42.640Z",
      "completed_at": "2026-10-08T09:28:45.418Z"
    },
    {
      "object": "moderation",
      "id": "mod_1DMLGfGc5pB5bJxd2pNLsu",
      "type": "text",
      "template": "review",
      "status": "completed",
      "flagged": true,
      "recommendation": "reject",
      "severity": "critical",
      "triggered": ["spam", "links_contact", "instructions"],
      "preview": "Skip this shop. I buy mine at https://deals.example.com with the code SAVE20 and get 20% off.",
      "content_id": "review_9033",
      "author_id": "aut_7ZRftUOZyMjsmFWvJifaOJ",
      "author_external_id": "user_4821",
      "language": "en",
      "latency_ms": 2846,
      "dry_run": false,
      "test": false,
      "created_at": "2026-10-08T09:17:19.071Z",
      "completed_at": "2026-10-08T09:17:22.543Z"
    }
  ],
  "has_more": true,
  "next_cursor": "WyIyMDI2LTEwLTA4VDA5OjE3OjE5LjA3MVoiLCIyN2VmZWFiNC1hNGQ3LTQzNWYtYjgzOC0xNDFjYzYyMDQxMTgiXQ"
}

Path parameters

external_idstringRequired

Your id for the end user.

Query parameters

limitintegerDefault 20

Number of items to return, 1 to 100. Default 20.

cursorstring

The next_cursor of the previous page. Omit it for the first page.

Returns

A list object of summaries. Each item has object, id, type, template (the slug, as a string), status, flagged, recommendation, severity, triggered, preview (the first 140 characters of stored text, or null), content_id, author_id (the aut_ id), author_external_id, language, latency_ms, dry_run, test, created_at and completed_at. Forms appear once, as their parent moderation.

Errors

400
invalid_cursor

cursor is not a value returned by this endpoint.

404
not_found

The project has no author with this id.

422
validation_error

limit is outside 1 to 100.

Every endpoint can also answer the errors any request can meet: a missing key, a rate limit, a malformed body. Errors

Something missing or unclear on this page? Write to support@useinfrared.com.