POST
/
api
/
v1
/
ingest

Create or update a content record for moderation.

Important Notes

  • The clientId must be unique for each record. This is usually your id for record.

  • Image URLs in imageUrls must remain accessible for as long as the record exists

  • The user object is optional but allows all content for a given user to be grouped (and for suspension / ban actions to operate at a user level)

  • Protected users (e.g., administrators) can be marked using user.protected: true

  • To update a record, simply ingest the content again, with the same clientId

Example

POST /api/v1/ingest HTTP/1.1
Host: api.iffy.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "clientId": "post_123",
  "clientUrl": "https://example.com/posts/post_123",
  "name": "Sample Post",
  "entity": "post",
  "content": {
    "text": "This is the content to be moderated.",
    "imageUrls": ["https://example.com/image.jpg"]
  },
  "user": {
    "clientId": "user_123",
    "name": "John Doe",
    "username": "johndoe"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
clientId
string
required

A unique identifier for the record, assigned by the client. Used to create or update the record.

content
required

The text content of the record to be moderated.

entity
string
required

The category or type of the record (e.g., 'post', 'comment', 'message'). Helps categorize the content.

name
string
required

The name or title of the record.

clientUrl
string

An optional URL associated with the record, such as a link to the original content.

user
object

Optional information about the user associated with the record.

Response

200 - application/json
message
string
required

A success message.