Item Types

Item Types are the first things you create when you sign up for Cove. Each Item Type represents a different form of content on your platform.

For example, if you've built a social network that allows users to create profiles, upload posts, and comment on other users' posts, then your Item Types might be Profile, Post, and Comment. Every time a user creates a new profile, post, or comment, you'll send it to Cove, along with an indicator telling us what type of item it is (see the Item API section for details on how to structure each API request).

Cove needs to know exactly what pieces of data comprise each of your Item Types. For example, a Profile on your platform might contain a username, a profile picture, a short bio, a list of interests, and more, all of which can be used to evaluate whether that Profile violates your platform's policies. When you create an Item Type in Cove, you'll be able to specify the fields it contains.

Flavors of Item Types

The idea of Item Types is a useful, generic concept that can represent any item on your platform, from isolated pieces of content, to users and their profiles, to threads containing multiple pieces of related content.

In order for us to enable more useful functionality for different kinds of Item Types, we have three categories into which Item Types can fall:

  1. Content: A "Content" Item Type is an Item Type that represents an individual piece of content, such as messages, comments, posts, product listings, reviews, etc.
  2. User: A "User" Item Type is an Item Type that represents an individual user on your platform. Some platforms just have one User Item Type, but others might have more. For example, a marketplaces might have buyers and sellers as different User Item Types, a ride-sharing app might have drivers and passengers as different User Item Types, etc.
  3. Thread: A "Thread" Item Type is an Item Type that represents an ordered list of content. Examples include a group chat with lots of messages, a chatboard with lots of posts, a comment thread with lots of comments - these are all threads that contain individual pieces of content, in a specified order.

We process and render these different kinds of Item Types in different ways, so for each Item Type you create, we need to know in which of the three buckets it belongs.

Item Type Schema

A Schema represents the shape of the data in your Item Type. For example, if a Profile on your platform contains a username, a profile picture, a short bio, and a list of interests, we need to know that information so that we can reference that data in your Rules and render it properly in the Cove UI.

Every Item Type Schema is comprised of a list of Fields, where each Field represents one piece of data in the Schema. In the previous example, the Profile Item Type's Schema might include the following Fields:

  • "username" (string)
  • "profile_picture" (image)
  • "bio" (string)
  • "interests" (Array<string>)

You may add as many Fields as you'd like, and then you can utilize them in your Rules.

Related Items

Items can have relationships with other Items. For example, a post can have an author, a chat thread can have multiple messages, a group chat can have multiple users, a product listing can have many reviews, etc.

We need to understand how different Items on your platform relate to each other. When you create a new Item Type and you're building its Schema, you can add Fields to the Schema that define these relationships. We call these relationships Related Items.

For example, if your platform allowed users to follow other users, you could add the following two Fields to the "Profile" Schema we created above:

  • "followers" (Array<RelatedItem>)
  • "following" (Array<RelatedItem>)

This allows us to create a relationship between each Profile and the other Profiles that they follow (or are followed by). This is extremely useful for including additional context when we attempt to detect harm. And it's also useful if you use our Manual Review Tool so that your moderators have as much context as possible when reviewing reported Items.

How to Create an Item Type

To create a new Item Type:

  1. Navigate to the Item Types tab
  2. Click "Create Item Type" in the top right corner
  3. Select the kind of Item Type you want to create. The different kinds of Item Types are Content, User, and Thread.
  4. Enter a name, and optionally a description
  5. Create your Item Type's Schema by specifying all of its relevant fields.
    1. Include any Related Item fields so we can capture the relationships between different Item Types
  6. Click "Create Item Type"