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
user_42EnabledNew- Moderations
- 4
- Rejected
- 0%0 of 4
- Days since first seen
- 1
- Trusted500, not met1%, met90, not met
- Established100, not met2%, met30, not met
- Regular20, not met5%, met7, not met
- Basic5, not met10%, met0, met
- New, the level of user_42Where every author starts
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_overridewith a level, ornullto clear it.Logged and announcedThe change goes to the audit log, and a webhook fires when the effective level moves.
Oak & Iron Furniture
user_208 · first seen 2 days ago · last seen 3 hours ago
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.
user_17
SuspendedNewfirst 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
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.
Oak dining table. Cheaper if you write me on https://t.me/seller
- 01Block banned authorsRejectif author is not enabledNo match for the New authorNo match for the Regular author
- 02Zero tolerance for hateRejectif Hate speech is flaggedNo match for the New authorNo match for the Regular author
- 03Illicit goodsRejectif Illicit & regulated goods is flaggedNo match for the New authorNo match for the Regular author
- 04No sexual contentRejectif Sexual content is flaggedNo match for the New authorNo match for the Regular author
- 05Allow established authorsAllowif trust level is at least regularNo match for the New authorAllow: the Regular author stops here, published
- 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.
GET/v1/authorsPUT/v1/authors/:external_idPOST/v1/authors/:external_id/block{"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}}{
"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
}
}
Start moderating your users' content
Create an API key, send your first request and get a verdict back.