Marketplace listings checked field by field
Send a listing as one form. Its text fields and its photos are scored separately, and the listing gets one recommendation.
- Text and photos in one request
- Templates on Starter and up
template: "listings"photos2 filestitleOak dining table, seats six
price450
descriptionSolid oak, 1970s, minor scratches. More photos at https://t.me/seller
user_81New- 01Block banned authorsReject
- 02Zero tolerance for hateReject
- 03Illicit goodsReject
- 04No sexual contentReject
- 05Allow established authorsAllow
- 06Links from new accountsReview
Sample data
One preset covers the whole listing
The Listing preset comes with its fields, policies and rules filled in, and you can edit any of them before you publish.
preset: "listing"Fields
4titleTextRequired5 to 120 charactersHate speech, flagsLinks & contact details, flagsdescriptionTextRequiredUp to 5,000 charactersSwear words, flagsToxicity, flagspriceNumberOptionalAt least 0photosImageOptionalUp to 10 files, 10 MB eachMade with AI, adds a review signalAI instructionsFirst lines, once per listingCheck that the title, description, price and photos describe the same offer...
Policies
17FlagThe listing becomes FLAGGED.
- Hate speech
- Toxicity
- Violence
- Self-harm
- Sexual content
- Illicit & regulated goods
- Personal data
- Spam & advertising
- Links & contact detailsin
title - Swear wordsin
description
ReviewAdds a review signal without flagging.
- Duplicate content
- Lookalike characters
- Meaningless text
- Screenshot instead of photo
- Low image quality
- Stock or third-party watermark
- Made with AIin
photosGrowth and up
Made with AI is experimental. On Starter the template is created without it.
Rules
6- 01Block banned authorsif author is not enabledReject
- 02Zero tolerance for hateif Hate speech is flaggedReject
- 03Illicit goodsif Illicit & regulated goods is flaggedReject
- 04No sexual contentif Sexual content is flaggedReject
- 05Allow established authorsif trust level is at least regularAllow
- 06Links from new accountsif trust level is at most new and Links & contact details is flaggedReview
Severity triagewhen no rule matches: review from 0.40, reject from 0.80
Preset as shipped
Messages and reviews get their own templates
A message and a review are judged differently from a listing, so each starts from its own preset and is published separately.
- Listings
listingsfrom the listing preset, 4 fields, 6 rulesv1Active - Messages
messagesfrom the message preset, 1 field, 2 rulesDraftFields- Message
body1 to 5,000 characters
Rules- 01Threats are rejectedReject
- 02Links from new accountsReview
Policy settings- Personal dataObserve
- Off-platform phrasesOff
- Message
- Reviews
reviewsfrom the review preset, 2 fields, 1 ruleDraftFields- Rating
rating1 to 5 - Review
body5 to 3,000 characters
Rules- 01Zero tolerance for hateReject
Policy settings- Off-topicReview
- Rating
Sample data
A seller's history changes the decision
Send an author id with each listing, and the rules read the seller's trust level when they decide.
No author id means NewWithout author_id the allow rule never applies.
descriptionLinks & contact details0.90Solid oak, 1970s, minor scratches. More photos at https://t.me/seller
user_81New- Moderations
- 2
- Rejected
- 0
- First seen
- today
01 to 05 do not match
user_42Regular- Moderations
- 24
- Rejected
- 1
- First seen
- 19 days ago
01 to 04 do not match
Sample data
Go live with one template and one request
The only code is one request from your upload flow and a handler for the webhook that brings the result.
Create the templateIn the dashboard, start a template from the Listing preset and publish its first version.
Send the formPost the fields with the template's slug. A form with photos answers 202, and the result follows by webhook.
Work the review queueEvery listing recommended for review becomes a queue item for your team to allow or reject.
{"template": "listings","content_id": "item_18342","author_id": "user_81","fields": {"title": "Oak dining table, seats six","description": "Solid oak, 1970s, minor scratches. More photos at https://t.me/seller","price": 450,"photos": ["https://cdn.example.com/1.jpg","https://cdn.example.com/2.jpg"]}}What follows the requestSample data
- 202Accepted"status": "screening"
- POSTqueue_item.created"reason": "rule"
- POSTmoderation.completed"recommendation": "review"

Start moderating your users' content
Create an API key, send your first request and get a verdict back.