Skip to main content

Rosterr game API: endpoints reference

A list of every public API endpoint by area: activity, members, sessions, moderation, logs, userbook, notices, recommendations and docs.

Written by Liam Radford

Paths are relative to https://<your address>/api/public/v1/workspace/<workspaceId>. All need Authorization: Bearer rosterr_.... Request and response details are in the route handlers; this is the map.

Activity (the usual game integration)

Method

Path

Purpose

POST

/user/{userId}/activity/start

Start a tracked session. 409 if one is already active

POST

/user/{userId}/activity/end

End the active session. 404 if none

GET

/user/{userId}/activity

A member's activity

GET

/activity, /leaderboard, /lastreset

Workspace-wide activity data

Members and workspace

Method

Path

Purpose

GET

/info

Group name, logo, member count, accent colour, roles

GET

/members

Member list

GET

/member/{userId}

One member with roles, departments and any active notice

GET

/allies, /birthdays, /wall

Alliances, birthdays, wall posts (POST /wall adds a post)

POST

/notifications

Send a notification

Sessions

GET /sessions/calendar, GET /sessions/sets, POST /sessions/create-scheduled, POST /sessions/create-unscheduled, GET /sessions/{sessionId}/roles, and POST or PATCH /sessions/{sessionId}/assign.

Moderation

GET /moderation/live, GET or POST /moderation/cases, POST /moderation/cases/{caseId}/revoke, GET /moderation/user/{userId}.

Logs to Discord

POST /logs forwards in-game admin commands or chat to a Discord channel. Set up the webhook first (Settings > Integrations > Discord webhooks, free on every plan).

{ "stream": "admin", "entries": [{ "userId": 123, "username": "Bird", "command": ":kick Bob", "message": "Kicked Bob for exploiting" }] }

  • stream is admin (one Discord embed per entry) or chat (entries grouped into one embed).

  • 1 to 25 entries per request. Batch chat lines and send them every few seconds.

  • 409 if the workspace has not set up that webhook, 502 if Discord refused.

  • Mentions in log text never ping anyone.

Staff records and workflows

  • Userbook: GET /userbook/entries, and POST /userbook/{note|warning|promotion|demotion|rank-change|termination}.

  • Notices: GET or POST /notices, GET /notices/summary, GET /notices/user/{userId}, GET, PATCH or DELETE /notices/{noticeId}.

  • Recommendations: GET or POST /recommendations, GET, PATCH or DELETE /recommendations/{id}, GET, POST or DELETE /recommendations/{id}/vote, GET or POST /recommendations/{id}/comments.

  • Docs: GET /docs, GET /docs/{docId} (guides that do not need acknowledgement).

Related articles

  • The Rosterr game API: what it is, how to make an API key and keep it safe

  • Game API errors and rate limits (401, 404, 409, 429 and how to back off)

  • Track staff time with the game API (Luau example)

Did this answer your question?