A content item on its own is a name and a body. Everything else it carries is a relation: a row attached to it, of one of the kinds on this page.
The relations are shared across item types — the same media table serves a
mod’s screenshots and a community’s gallery — which is why an item’s tabs look
the same wherever you are.
The catalogue
Releases and files
Versions, and the files people actually download. Plus how uploads, scanning and size limits work.
Media
Screenshots and videos, uploaded or external — and who is allowed to contribute them.
Links
Website, Discord, GitHub, Steam, YouTube and the rest.
Dependencies
Required, optional, recommended — and conflicts, which are the reason the feature is shaped this way.
Contributors and credits
Who worked on it, including people who have no account here.
Permissions and usage policy
Two different things with similar names: what others may DO with your work, and who may EDIT it.
Ratings, reviews and comments
The engagement set, and the switches that govern it.
Follows and favourites
“Tell me when this changes” versus “keep this on a list”.
External sources
Where else this item is published — and the repo it is built from.
Boards
Discussions, feedback, bug tracker, roadmap and changelog — the five boards an item can run.
Which items take which
| Relation | Mod | Asset | Server | Community | Article | Collection | Group |
|---|---|---|---|---|---|---|---|
| Tags | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Categories | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Media | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Releases | ✓ | ✓ | ✓ | ||||
| Links | ✓ | ✓ | ✓ | ||||
| Sources | ✓ | ✓ | |||||
| Items | ✓ | ||||||
| Dependencies | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Contributors | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Usage policy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Ratings | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Reviews | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Comments | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Follows | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Favourites | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Boards | ✓ | ✓ | ✓ | ✓ |
The API exposes a narrower set as sub-resources — tags, media,
releases, links, sources, items. See the availability
table for exactly which.
Managing them
Through the browser, each relation is a tab on the item’s edit form.
Through the API there are two ways, and the difference matters:
- Inline on the item body. The array you send is the complete set. Sending
"media": [...]replaces the gallery wholesale; omitting the key leaves it alone. There is no way to say “add one” inline. - On the relation’s own sub-resource.
POSTadds,PUTreplaces,DELETEremoves named members.
The sub-resource is usually what you want. See Relations through the API.