Controllers
-
The collection of
/api/v3/admin
route endpoints and handler functions related to admin tasks.All routes in this group should be restricted to users with administrator priviliges. This controller returns data of a privledged nature, and has control endpoints for setting overall server state.
See moreDeclaration
Swift
struct AdminController : APIRouteCollection
-
The collection of alert endpoints, with routes for: - getting server time,, - getting public address-style announcements,, - getting notifications on alertwords, - getting notificaitons on incoming Fez messages.
See moreDeclaration
Swift
struct AlertController : APIRouteCollection
-
The collection of
/api/v3/auth/*
route endpoints and handler functions related to authentication.API v3 requires the use of either
HTTP Basic Authentication
(RFC7617) orHTTP Bearer Authentication
(based on RFC6750) for virtually all endpoint access, with very few exceptions carved out for fully public data (such as the Event Schedule).This means that essentially all HTTP requests must contain an
Authorization
header.Important
The query-based&key=
scheme used in v2 is not supported at all.A valid
HTTP Basic Authentication
header resembles:Authorization: Basic YWRtaW46cGFzc3dvcmQ=
The data value in a Basic header is the base64-encoded utf-8 string representation of the user’s username and password, separated by a colon. In Swift, a one-off version might resemble something along the lines of:
var request = URLRequest(…) let credentials = “username:password”.data(using: .utf8).base64encodedString() request.addValue(“Basic (credentials)”, forHTTPHeaderField: “Authorization”) …
Successful execution of sending this request to the login endpoint returns a JSON-encoded token string:
{ “token”: “y+jiK8w/7Ta21m/O8F2edw==” }
which is then used in
HTTP Bearer Authentication
for all subsequent requests:Authorization: Bearer y+jiK8w/7Ta21m/O8F2edw==
A generated token string remains valid across all clients on all devices until the user explicitly logs out, or it otherwise expires or is administratively deleted. If the user explicitly logs out on any client on any device, the token is deleted and the
See more/api/v3/auth/login
endpoint will need to be hit again to generate a new one.Declaration
Swift
struct AuthController : APIRouteCollection
-
Methods for accessing the list of boardgames available in the onboard Games Library.
See moreDeclaration
Swift
struct BoardgameController : APIRouteCollection
-
The collection of
See more/api/v3/client/*
route endpoints and handler functions that provide bulk retrieval services for registered API clients.Declaration
-
The collection of
See more/api/v3/events/*
route endpoints and handler functions related to the event schedule.Declaration
Swift
struct EventController : APIRouteCollection
-
The collection of
See more/api/v3/fez/*
route endpoints and handler functions related to Looking For Group and Seamail chats.Declaration
Swift
struct FezController : APIRouteCollection
-
The collection of
See more/api/v3/forum/*
route endpoints and handler functions related to forums.Declaration
Swift
struct ForumController : APIRouteCollection
-
Declaration
Swift
struct ImageController : APIRouteCollection
-
Methods for accessing the list of boardgames available in the onboard Games Library.
See moreDeclaration
Swift
struct KaraokeController : APIRouteCollection
-
Methods for accessing the list of boardgames available in the onboard Games Library.
See moreDeclaration
Swift
struct MicroKaraokeController : APIRouteCollection
-
The collection of
/api/v3/mod/
route endpoints and handler functions related to moderation tasks.All routes in this group should be restricted to users with moderation priviliges. This controller returns data of a privileged nature, including contents of user reports, edit histories of user content, and log data about moderation actions.
Note that some moderation actions aren’t in this file. Most such endpoints have a handler method allowing a user to operate on their own content, but also allowing a mod to operate on other users’ content. For example,
twarrtUpdateHandler
lets a user edit a twarrt they wrote, but also lets mods edit any user’s twarrt.The routes in this controller that return data on various Reportable content types are designed to return everything a Mod might need to make moderation decisions, all in one call. In many cases that means calls return multiple array types with no paging or array limits. In non-degenerate cases the arrays should less than ~20 elements. Additionally, there are few moderators and they won’t be calling these methods multiple times per second.
See moreDeclaration
Swift
struct ModerationController : APIRouteCollection
-
The collection of
See more/api/v3/phone/*
route endpoints and handler functions related to phone call management..Declaration
Swift
struct PhonecallController : APIRouteCollection
-
Declaration
Swift
struct PhotostreamController : APIRouteCollection
-
The collection of
/api/v3/test/*
route endpoints and handler functions for unit testing and benchmarking purposes.Note
These endpoints are NOT intended as API for client development.Declaration
Swift
struct TestController : APIRouteCollection
-
The collection of
See more/api/v3/twitarr/*
route endpoint and handler functions related to the twit-arr stream.Declaration
Swift
struct TwitarrController : APIRouteCollection
-
The collection of
/api/v3/user/*
route endpoints and handler functions related to a user’s own data.
See moreUserController
is only for methods that modify the user’s own data. SeeUsersController
for methods that interact with other users.Declaration
Swift
struct UserController : APIRouteCollection
-
The collection of
/api/v3/user/*
route endpoints and handler functions related to a user’s own data.Separating these from the endpoints related to users in general helps make for a cleaner collection, since use of
See moreUser.parameter
in the paths here can be avoided entirely.Declaration
Swift
struct UsersController : APIRouteCollection