Skip to content

Every author earns a trust level

Send an author id with each request and Infrared keeps that author's history and turns it into one of five trust levels your content rules can read.

  • History on every plan
  • Thresholds set per project
  • Test keys never change a level
Automatic level
Sample data
user_42EnabledNew
Moderations
4
Rejected
0%
Days since first seen
1
LevelModerationsMax rejectedDays since first seen
  1. Trusted500, not met1%, met90, not met
  2. Established100, not met2%, met30, not met
  3. Regular20, not met5%, met7, not met
  4. Basic5, not met10%, met0, met
  5. New, the level of user_42Where every author starts
AllowModeration 4 countedBasic needs 5 moderations

Sample data

Pin a level when you already know the author

Set any of the five levels by hand and your rules read that one, while the author's history keeps counting underneath.

  • Clear it any timeRemove the override and rules read the automatic level again.

  • Or set it over the APISend trust_override with a level, or null to clear it.

  • Logged and announcedThe change goes to the audit log, and a webhook fires when the effective level moves.

Acme Corp./Authors
Sample data

Oak & Iron Furniture

user_208 · first seen 2 days ago · last seen 3 hours ago

EnabledEstablishedOverride

Trust

The automatic level follows the author's live history. An override pins the level rules read.

Automatic levelRecomputed after every completed live moderation.
New
OverridePins the effective level regardless of history.
Established
Effective levelWhat content rules read.
Established

Sample data

A dated suspension lifts itself

Suspend an author until a date and Infrared enables them again once it passes. Content rules read the status from the author's next submission on.

  • EnabledThe default. Enabling an author brings back the level their history earned.

  • SuspendedSet from the dashboard, the API or a review queue item. With no date it stays until you lift it.

  • BlockedSet from the same three places, until you enable the author again. New content is rejected only where a rule reads the status, and nothing already published changes.

Acme Corp./Authors
Sample data

user_17

SuspendedNew

first seen 20 days ago · last seen 3 hours ago

Suspended until Oct 9, 2026 · 14:00Contact details in listings

Moderations
24
Flagged
1
Rejected
1
Reviewed
2
Risk score
0.74
Webhook
author.suspendedsource dashboard

Sample data

A level does nothing until a rule reads it

Rules run top to bottom and the first match decides, so the same listing from a New and a Regular author stops at different rules.

author_trust
Is at least, is at most or is exactly the level you pick.
author_status
Is or is not enabled, suspended or blocked.

Rules that read trust or status need a template, on Starter and up.

Acme Corp./Listings · Rules
Sample data
Listing, title field

Oak dining table. Cheaper if you write me on https://t.me/seller

Links & contact details0.90Flagged
The same listing, sent byNew authorRegular author
  1. 01Block banned authorsRejectif author is not enabledNo match for the New authorNo match for the Regular author
  2. 02Zero tolerance for hateRejectif Hate speech is flaggedNo match for the New authorNo match for the Regular author
  3. 03Illicit goodsRejectif Illicit & regulated goods is flaggedNo match for the New authorNo match for the Regular author
  4. 04No sexual contentRejectif Sexual content is flaggedNo match for the New authorNo match for the Regular author
  5. 05Allow established authorsAllowif trust level is at least regularNo match for the New authorAllow: the Regular author stops here, published
  6. 06Links from new accountsReviewif trust level is at most new and Links & contact details is flaggedReview: the New author stops here, sent to review

Both responses say flagged: true. An allow from a rule sets the recommendation and nothing else.

Sample data

One field in the request, the author in the response

Add author_id to a moderation request and the response carries the status and the level the decision used.

author_id
Your own id for the user, up to 200 characters. The first moderation creates the author.
status
The author's status when the rules ran. A suspension past its date already reads enabled.
trust_level
The level the rules read, taken before this moderation is counted.
Authors API, on every planGET/v1/authorsPUT/v1/authors/:external_idPOST/v1/authors/:external_id/block
POST /v1/moderationsJSON
{"template": "listings","author_id": "user_42","fields": {"title": "Oak dining table. Cheaper if you write me on https://t.me/seller","description": "Solid oak, seats six. Collection only.","price": 450}}
200 OK, trimmedJSON
{
  "id": "mod_1B7lY4kzM9n2Qx8sRt3wVu",
  "flagged": true,
  "recommendation": "allow",
  "rule": {
    "id": "r5",
    "name": "Allow established authors",
    "action": "allow"
  },
  "author": {
    "id": "aut_3Kp9Vd2mXc7TqLw5ZbR8nY",
    "external_id": "user_42",
    "status": "enabled",
    "trust_level": "regular",
    "known": true
  }
}
Sample data

Start moderating your users' content

Create an API key, send your first request and get a verdict back.