Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/artemis-development-group/artemis/llms.txt

Use this file to discover all available pages before exploring further.

The Artemis admin panel provides site administrators with tools that operate across the entire platform, beyond the scope of any individual branch. Access to every admin route is protected by the VAdmin validator — only accounts with admin status can reach these pages. This page covers the routes, models, and workflows available to site admins.
All admin panel routes require a valid admin session. Attempting to access /admin/ routes without admin status will be rejected by the VAdmin validator.

Admin Panel Routes

The following routes are registered in routing.py for site-wide administration:
RouteController / ActionDescription
/admin/awardsAdmin landing page — award management
/admin/awardsawardsCreate and manage site awards
/admin/awards/:awardcn/giveawardsGive a specific award to a user
/admin/awards/:awardcn/winnersawardsView winners of a specific award
/admin/cbranchesadmintoolGET_cbranchesManage cbranches (community branch subscriptions) for a recipient
/admin/goldadmintoolGET_goldManage gold status for a recipient

cbranches Management

The /admin/cbranches page is served by AdminToolController.GET_cbranches. It accepts an optional recipient query parameter and renders the AdminCbranches component inside the standard AdminPage layout. Admins use this to inspect or adjust cbranches (a gold-tier branch subscription feature) for a given user account.

Gold Management

The /admin/gold page is served by AdminToolController.GET_gold. It also accepts a recipient parameter and renders AdminGold. From here, admins can adjust a user’s gold expiration — adding days, months, or years — or manually grant and revoke gold status.
The cbranches_lock from r2.models.gold is used internally to prevent concurrent modifications to a user’s cbranches subscription state.

AdminTools: Platform-Wide Content Actions

The AdminTools class (in r2/models/admintools.py) provides the low-level methods used across the platform to take action on content. These are also called by moderators within branches, but admins can invoke them globally.
The spam() method marks one or more things as removed. The key parameters that determine the type of removal are:
ParameterEffect
auto=TrueAutomated removal (spam filter or AutoModerator). Sets verdict to nothing; item kept in modqueue
auto=False, moderator_banned=TrueModerator removal. Sets verdict = 'mod-removed'
auto=False, moderator_banned=FalseAdmin removal. Sets verdict = 'admin-removed'
train_spam=TrueTrains the spam classifier on the item
train_spam=FalseRemoves without affecting the spam classifier
The note field stored in ban_info records the reason code (spam, remove not spam, confirm spam, reinforce spam).

Admin Notes

AdminNotesBySystem (in r2/models/admin_notes.py) stores timestamped notes keyed by a system_name and a subject string. Notes are stored in Cassandra and returned in reverse-chronological order. Each note record contains:
FieldDescription
noteThe text of the admin note
authorThe username of the admin who wrote the note
whenUTC timestamp of when the note was created
Notes are grouped by system_name (the subsystem they relate to, e.g. a particular moderation or account review process) and subject (the specific entity being noted, such as a username or item fullname). The row key used in Cassandra is system_name:subject.

Traffic Reporting

Traffic statistics are accessible through the following routes:
RouteDescription
/trafficSite-wide traffic overview
/traffic/languages/:langcodeTraffic breakdown by language
/traffic/adverts/:codeTraffic stats for a specific advert code
/traffic/branches/reportBranch-level traffic report (admin view)
Individual link/campaign traffic is also available at /traffic/:link/:campaign and is controlled by the public_traffic branch setting — if the branch has enabled public traffic stats, any user can view it; otherwise it is restricted to moderators and admins.
Admins and sponsors access promotion management through the /sponsor/ routes:

Sponsor overview

/sponsor — lists all promotions, sorted by all by default.

Filtered promotion listings

/sponsor/promoted/:sort — filter by status: future_promos, pending_promos, unpaid_promos, rejected_promos, live_promos, edited_live_promos, underdelivered, reported, house, fraud, all, unapproved_campaigns, by_platform.

Inventory and reporting

/sponsor/inventory — check ad inventory availability. /sponsor/report — generate a sponsor report.

User lookup

/sponsor/lookup_user — look up a user’s promotion history.
Live promotions for a specific branch can be viewed at /sponsor/promoted/live_promos/:sr.

Promotion Editing Endpoints

RouteDescription
/promoted/new_promoCreate a new promoted post
/promoted/edit_promo/:linkEdit an existing promoted post
/promoted/pay/:link/:campaignSubmit payment for a campaign
/promoted/refund/:link/:campaignProcess a campaign refund

Admin Session Management

Admins log in to a standard session and then elevate to admin mode via /adminon. The elevated session can be dropped with /adminoff. This separation means admin actions are only possible while the elevated session is active, reducing the risk of accidental use of admin privileges during normal browsing.
1

Log in normally

Authenticate at /login with your admin account credentials.
2

Enable admin mode

Navigate to /adminon to activate your admin session.
3

Perform admin actions

Admin panel routes and admin-only API endpoints are now accessible.
4

Disable admin mode when done

Navigate to /adminoff to drop admin privileges for your current session.

Build docs developers (and LLMs) love