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 |
| Start a tracked session. 409 if one is already active |
POST |
| End the active session. 404 if none |
GET |
| A member's activity |
GET |
| Workspace-wide activity data |
Members and workspace
Method | Path | Purpose |
GET |
| Group name, logo, member count, accent colour, roles |
GET |
| Member list |
GET |
| One member with roles, departments and any active notice |
GET |
| Alliances, birthdays, wall posts ( |
POST |
| 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" }] }
streamisadmin(one Discord embed per entry) orchat(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, andPOST /userbook/{note|warning|promotion|demotion|rank-change|termination}.Notices:
GETorPOST /notices,GET /notices/summary,GET /notices/user/{userId},GET,PATCHorDELETE /notices/{noticeId}.Recommendations:
GETorPOST /recommendations,GET,PATCHorDELETE /recommendations/{id},GET,POSTorDELETE /recommendations/{id}/vote,GETorPOST /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)
