List events
GET/v1/webhooks/eventsKey scope read
Lists the events emitted in the project, newest first, whether or not an endpoint received them. Events are kept for 30 days.
Needs a key with the read scope. Authentication
curl "https://api.useinfrared.com/v1/webhooks/events?limit=2" \
-H "Authorization: Bearer $INFRARED_KEY"const response = await fetch("https://api.useinfrared.com/v1/webhooks/events?limit=2", {
headers: { Authorization: `Bearer ${process.env.INFRARED_KEY}` },
});
const data = await response.json();import os
import requests
response = requests.get(
"https://api.useinfrared.com/v1/webhooks/events",
headers={"Authorization": f"Bearer {os.environ['INFRARED_KEY']}"},
params={
"limit": 2,
},
)
data = response.json(){
"object": "list",
"data": [
{
"object": "webhook_event",
"id": "evt_776dPiJmyI8U3ftKGhZdRG",
"type": "moderation.completed",
"created_at": "2026-10-08T09:29:10.025Z",
"api_version": "2026-09-01",
"data": {
"moderation": {
"id": "mod_5d9DTbKQOev1NmVKGQFFDN",
"rule": {
"id": "r6",
"name": "Links from new accounts",
"action": "review"
},
"test": true,
"type": "text",
"field": "title",
"usage": {
"cached": false,
"checks": 0
},
"author": {
"id": "aut_4fTalaDkUNUCejyFiOHa1E",
"known": true,
"status": "enabled",
"external_id": "user_2718",
"trust_level": "new"
},
"object": "moderation",
"status": "completed",
"details": {
"spam": {
"field": "title"
},
"sexual": {
"field": "title"
},
"illicit": {
"field": "title"
},
"toxicity": {
"field": "title"
},
"violence": {
"field": "title"
},
"duplicate": {
"field": "title"
},
"gibberish": {
"field": "title"
},
"profanity": {
"field": "title"
},
"self_harm": {
"field": "title"
},
"hate_speech": {
"field": "title"
},
"instructions": {
"field": "title",
"labels": ["confidence:90"],
"matches": [
{
"field": "title",
"label": "evidence",
"value": "email sofa.seller@example.com"
}
],
"explanation": "The title includes an email address, suggesting the seller wants to move communication off-platform."
},
"made_with_ai": {
"field": "title"
},
"links_contact": {
"field": "title",
"labels": ["email"],
"matches": [
{
"label": "email",
"value": "sofa.seller@example.com"
},
{
"label": "email",
"value": "sofa.seller@example.com",
"source": "model"
}
]
},
"personal_data": {
"field": "title",
"labels": ["email"],
"matches": [
{
"end": 51,
"label": "email",
"start": 28,
"value": "sofa.seller@example.com"
}
],
"masked_output": "Grey corner sofa bed, email s***@example.com"
},
"lookalike_characters": {
"field": "title"
},
"wordlist/competitors": {
"field": "title",
"labels": ["block"]
},
"guideline/no-off-site-deals": {
"field": "title",
"labels": ["confidence:90"],
"matches": [
{
"field": "title",
"label": "evidence",
"value": "email sofa.seller@example.com"
}
],
"explanation": "The title contains an email address, which is a clear attempt to solicit communication and potential deals off the platform."
}
},
"dry_run": false,
"flagged": true,
"reasons": [
"trigger:links_contact@title:flag",
"trigger:personal_data:flag",
"trigger:guideline/no-off-site-deals:flag",
"trigger:instructions:flag",
"rule:r6"
],
"language": "en",
"metadata": null,
"policies": {
"spam": 0,
"sexual": 0,
"illicit": 0,
"toxicity": 0,
"violence": 0,
"duplicate": 0,
"gibberish": 0,
"profanity": 0,
"self_harm": 0,
"watermark": 0,
"screenshot": 0,
"hate_speech": 0,
"instructions": 0.8,
"made_with_ai": 0,
"image_quality": 0,
"links_contact": 0.9,
"personal_data": 0.75,
"lookalike_characters": 0,
"wordlist/competitors": 0,
"guideline/no-off-site-deals": 0.8
},
"severity": "high",
"template": {
"slug": "listing",
"version": 2
},
"triggered": [
"links_contact",
"personal_data",
"guideline/no-off-site-deals",
"instructions"
],
"content_id": "listing_20873",
"context_id": null,
"created_at": "2026-10-08T09:29:05.407Z",
"latency_ms": 2909,
"completed_at": "2026-10-08T09:29:08.819Z",
"recommendation": "review"
}
}
},
{
"object": "webhook_event",
"id": "evt_6EUOkCyLLkWpsD5xQvfi7v",
"type": "queue_item.created",
"created_at": "2026-10-08T09:29:09.670Z",
"api_version": "2026-09-01",
"data": {
"queue_item": {
"id": "qi_6Dv2KCo2s8S8vJqQF6jPm1",
"state": "pending",
"object": "queue_item",
"reason": "rule",
"summary": {
"type": "text",
"author": {
"id": "aut_4fTalaDkUNUCejyFiOHa1E",
"status": "enabled",
"external_id": "user_2718",
"trust_level": "new"
},
"scores": {
"spam": 0,
"sexual": 0,
"illicit": 0,
"toxicity": 0,
"violence": 0,
"duplicate": 0,
"gibberish": 0,
"profanity": 0,
"self_harm": 0,
"watermark": 0,
"screenshot": 0,
"hate_speech": 0,
"instructions": 0.8,
"made_with_ai": 0,
"image_quality": 0,
"links_contact": 0.9,
"personal_data": 0.75,
"lookalike_characters": 0,
"wordlist/competitors": 0,
"guideline/no-off-site-deals": 0.8
},
"dry_run": false,
"preview": "Grey corner sofa bed, email sofa.seller@example.com",
"language": "en",
"severity": "high",
"template": "listing",
"triggered": [
"links_contact",
"personal_data",
"guideline/no-off-site-deals",
"instructions"
],
"content_id": "listing_20873"
},
"assignee": null,
"conflict": false,
"language": "en",
"priority": "high",
"severity": "high",
"author_id": "aut_4fTalaDkUNUCejyFiOHa1E",
"created_at": "2026-10-08T09:29:09.449Z",
"project_id": "prj_0TBAgHGtdMketrbltGFHuk",
"resolution": null,
"sla_due_at": null,
"updated_at": "2026-10-08T09:29:09.449Z",
"assigned_at": null,
"reopened_at": null,
"resolved_at": null,
"resolved_by": null,
"template_id": "tpl_64mYq4nD3NXNfu0gcdaMZa",
"moderation_id": "mod_5d9DTbKQOev1NmVKGQFFDN",
"settled_by_case_id": null
},
"moderation_id": "mod_5d9DTbKQOev1NmVKGQFFDN"
}
}
],
"has_more": true,
"next_cursor": "WyIyMDI2LTEwLTA4VDA5OjI5OjA5LjY3MFoiLCJjY2QxZmNiOC00N2U2LTQ5NmMtOTcxMi1hZDllZjUzZTA5ZTMiXQ"
}Query parameters
limitintegerDefault20Number of items to return, 1 to 100. Default 20.
cursorstringThe
next_cursorof the previous page. Omit it for the first page.typeenumReturn only events of this type, for example
moderation.completed.One of
moderation.completedmoderation.failedqueue_item.createdqueue_item.allowedqueue_item.rejectedqueue_item.actionedqueue_item.reopenedauthor.blockedauthor.suspendedauthor.enabledauthor.trust_level_changedaction.executed
Returns
A list object: data holds up to limit events, has_more says whether another page exists and next_cursor is the value to send as cursor, or null on the last page.
- 200 OKA list of webhook event objects
Errors
- 400
invalid_cursorcursoris not a value returned by this endpoint.- 422
validation_errorlimitis outside 1 to 100, ortypeis not an event type.
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.