Ads
Ads - Ad Analytics
GET
Back to Top

Returns analytics for the current ad round

Permissions: Super Administrator, Administrator

/api/ads/analytics/:round
Success 200
Field Type Description
round object Object containing data about the round
round.viewing number The round of ads that analytics are being displayed for
round.current number The round of ads that are currentlying running
round.previous number The previous round
round.next number The next round
round.start_time timestamp The timestamp of when the round started
round.end_time timestamp The timestamp of when the round ended
analytics object[] Object containing analytics data about each ad in the round, index of ad corresponds the ad number
analytics.total_impressions number The total number of impressions for this ad
analytics.total_authed_impressions number The total number of impressions for this ad from authorized users (not unique)
analytics.total_unique_ip_impressions number The total number of impressions for this ad from unique ip addresses
analytics.total_unique_authed_users_impressions number The total number of impressions for this ad from authorized users (unique)
Error 500
Field Description
InternalServerError There was an error viewing the analytics for ads


Ads - Create Ad
POST
Back to Top

Used to create a new ad within a round

Permissions: Super Administrator, Administrator

/api/ads
Payload
Field Type Description
round number The number of the round to create ad for
html string The html source of the ad
css
optional
string The css backing the html source
Success 200
Field Type Description
id string The id of the created ad
round number The round in which the ad was created
html string The html source for the ad
css string The css source for the ad
Error 500
Field Description
InternalServerError There was an error creating the ad


Ads - Create Factoid
POST
Back to Top

Used to create a new factoid

Permissions: Super Administrator, Administrator

/api/ads/factoids
Payload
Field Type Description
text string The factoid text
Success 200
Field Type Description
id string The id of the created factoid
text string The factoid text
Error 500
Field Description
InternalServerError There was an error creating the factoid


Ads - Create Ad Round
POST
Back to Top

Used to create a new ad round

Permissions: Super Administrator, Administrator

/api/ads/rounds
Success 200
Field Type Description
round number The number of the round which was created
Error 500
Field Description
InternalServerError There was an error creating the ad round


Ads - Disable Factoid
PUT
Back to Top

Used to disable factoids

Permissions: Super Administrator, Administrator

/api/ads/factoids/:id/disable
Parameter
Field Type Description
id string The unique id of the factoid to disable, pass 'all' in to disable all factoids
Success 200
Field Type Description
Sucess Object 200 OK
Error 500
Field Description
InternalServerError There was an error disabling the factoid


Ads - Duplicate Ad
POST
Back to Top

Used to duplicate an ad within a round

Permissions: Super Administrator, Administrator

/api/ads/:id/duplicate
Parameter
Field Type Description
id string The unique id of the ad to duplicate
Success 200
Field Type Description
id id The id of the duplicated ad
round string The round in which the ad was created
html string The html source for the ad
css string The css source for the ad
created_at timestamp The created at timestamp for the ad
updated_at timestamp The updated at timestamp for the ad
Error 500
Field Description
InternalServerError There was an error duplicating the ad


Ads - Enable Factoid
PUT
Back to Top

Used to enable factoids

Permissions: Super Administrator, Administrator

/api/ads/factoids/:id/enable
Parameter
Field Type Description
id string The unique id of the factoid to enable, pass 'all' in to enable all factoids
Success 200
Field Type Description
Sucess Object 200 OK
Error 500
Field Description
InternalServerError There was an error enabling the factoid


Ads - Remove Ad
DELETE
Back to Top

Used to remove an ad

Permissions: Super Administrator, Administrator

/api/ads/:id
Parameter
Field Type Description
id string The unique id of the ad to remove
Success 200
Field Type Description
HTTP object Code STATUS 200 OK
Error 500
Field Description
InternalServerError There was an error removing the ad


Ads - Remove Factoid
DELETE
Back to Top

Used to remove a factoid

Permissions: Super Administrator, Administrator

/api/ads/factoids/:id
Parameter
Field Type Description
id string The unique id of the factoid to remove
Success 200
Field Type Description
HTTP object Code STATUS 200 OK
Error 500
Field Description
InternalServerError There was an error removing the factoid


Ads - Rotate Ad Round
POST
Back to Top

Used to duplicate an ad within a round

Permissions: Super Administrator, Administrator

/api/ads/rounds/rotate
Payload
Field Type Description
round number The round of ads to rotate to
Success 200
Field Type Description
Sucess object 200 OK
Error 500
Field Description
InternalServerError There was an error rotating the ad round


Ads - Save Ad View Text
POST
Back to Top

Used to save ad info and disclaimer text to be displayed in Ad related views

Permissions: Super Administrator, Administrator

/api/ads/text
Payload
Field Type Description
disclaimer string The disclaimer text html source for ads
info string The information text html source for ads
Success 200
Field Type Description
disclaimer string The disclaimer text html source for ads
info string The information text html source for ads
Error 500
Field Description
InternalServerError There was an error saving the ad view text


Ads - Update Ad
PUT
Back to Top

Used to update an ad

Permissions: Super Administrator, Administrator

/api/ads/:id
Parameter
Field Type Description
id string The unique id of the ad to update
Payload
Field Type Description
html string The updated html source
css string The updated css source
Success 200
Field Type Description
id string The unique id of the ad to update
html string The updated html source
css string The updated css source
Error 500
Field Description
InternalServerError There was an error updating the ad


Ads - Update Factoid
PUT
Back to Top

Used to update a factoid

Permissions: Super Administrator, Administrator

/api/ads/factoids/:id
Parameter
Field Type Description
id string The unique id of the factoid to update
Payload
Field Type Description
text string The updated factoid text
Success 200
Field Type Description
id string The unique id of the factoid which was update
text string The updated factoid text
Error 500
Field Description
InternalServerError There was an error updating the factoid


Ads - View Ad
GET
Back to Top

Returns a random ad out of the round of circulated ads

Permissions: Super Administrator, Administrator

/api/ads/
Success 200
Field Type Description
id string The id of the ad
round string The round in which the ad is running
html string The html source for the ad
css string The css source for the ad
created_at timestamp The created at timestamp for the ad
updated_at timestamp The updated at timestamp for the ad
Error 500
Field Description
InternalServerError There was an error viewing the ad


Ads - View Ad Round
GET
Back to Top

Returns ads, factoids, and data for specified round

Permissions: Super Administrator, Administrator

/api/ads/rounds/:roundNumber
Parameter
Field Type Description
roundNumber string The round number to view, or "current" to view current round
Query
Field Type Description
type
optional
string What html source text to bring back with the data
Success 200
Field Type Description
ads object[] An array of ads in the specified round
ads.id string The id of the ad
ads.round number The round number of the ad
ads.html string The html source for the ad
ads.css string The css source for the ad
ads.display_html string The compiled display html
ads.display_css string The compiled display css
ads.created_at timestamp The created at timestamp for the ad
ads.updated_at timestamp The updated at timestamp for the ad
factoids object[] An array of factoids in circulation
factoids.id string The id of the factoid
factoids.text string The factoid text
factoids.enabled boolean Boolean indicating if factoid is enabled
factoids.created_at timestamp The created at timestamp for the factoid
factoids.updated_at timestamp The updated at timestamp for the factoid
text object Object which contains ad disclaimers and informations
text.info string HTML source for ad info to be displayed
text.disclaimer string HTML source for ads disclaimer to be displayed
round object Object containing data about the round
round.viewing number The round of ads that analytics are being displayed for
round.current number The round of ads that are currentlying running
round.previous number The previous round
round.next number The next round
Error 500
Field Description
InternalServerError There was an error viewing the round


Ads - View Round Information
GET
Back to Top

Returns information about the current ad round

Permissions: Super Administrator, Administrator

/api/ads/rounds/info
Success 200
Field Type Description
ads object[] An array of ads in the current round
ads.id string The id of the ad
ads.round number The round number of the ad
ads.html string The html source for the ad
ads.css string The css source for the ad
ads.display_html string The compiled display html
ads.display_css string The compiled display css
ads.created_at timestamp The created at timestamp for the ad
ads.updated_at timestamp The updated at timestamp for the ad
factoids object[] An array of factoids in circulation
factoids.id string The id of the factoid
factoids.text string The factoid text
factoids.enabled boolean Boolean indicating if factoid is enabled
factoids.created_at timestamp The created at timestamp for the factoid
factoids.updated_at timestamp The updated at timestamp for the factoid
text object Object which contains info to be displayed on the /ads/info view
text.info string HTML source to be displayed on the /ads/info view
Error 500
Field Description
InternalServerError There was an error viewing the round information


Auth
Auth - (Admin) Recover Account
POST
Back to Top

Used by admins to recover a user's account. Sends an email to the account holder with a URL to visit to reset the account password.

/api/admin/recover/
Payload
Field Type Description
user_id string The id of the user's account to recover
Success 200
Field Type Description
Sucess object 200 OK
Error 400
Field Description
BadRequest The user was not found
Error 500
Field Description
InternalServerError There was an error recovering the user account


Auth - Recover Account
POST
Back to Top

Used to recover an account by username or email. Sends an email with a URL to visit to reset the user's account password.

/api/recover/
Payload
Field Type Description
query string The email or username to attempt to recover
recaptcha string The recaptcha token
Success 200
Field Type Description
success object 200 OK
Error 400
Field Description
BadRequest Recaptcha not submitted
Error 500
Field Description
InternalServerError There was an error recovering the user's account


Auth - Reset Account Password
POST
Back to Top

Used to reset an account password after recovering an account.

/api/reset
Payload
Field Type Description
username string The username of the user whose password is being reset
password string The new account password
query string The new account password confirmation
token string The token for resetting the account password
Success 200
Field Type Description
message string Password Successfully Reset
Error 400
Field Description
BadRequest The user account could not be found or the reset token is invalid
Error 500
Field Description
InternalServerError There was an error updating the user account's reset token information


Auth - Validate Account Reset Token
GET
Back to Top

Used to check the validity of the reset token. Verifys that the reset token is for the correct user and that it is not expired.

/api/reset/:username/:token/validate
Parameter
Field Type Description
username string The username of the user whose reset token is to be checked
token string The token for resetting the account password
Success 200
Field Type Description
token_valid boolean true if the token is valid false if it is not
token_expired boolean true if token is expired false if not. Undefined if token is invalid
Error 400
Field Description
BadRequest The user account could not be found


Auth - Authenticate User
GET
Back to Top

Used to check the logged in user's authentication.

/api/authenticate
Success 200
Field Type Description
token string User's unique session token
id string User's unique id
username string User's username
avatar string User's avatar url
roles string[] Array of user's roles lookup strings
moderating string[] Array of user's moderatered board ids
permissions object Object containing user's permissions
Error 401
Field Description
Unauthorized returned when user is not authenticated


Auth - Confirm Account
POST
Back to Top

Used to confirm a newly registered account when account verification is enabled in the admin panel.

/api/confirm
Payload
Field Type Description
username string User's unique username.
token string User's confirmation token.
Success 200
Field Type Description
token string User's unique session token
id string User's unique id
username string User's username
avatar string User's avatar url
roles string[] Array of user's roles lookup strings
moderating string[] Array of user's moderatered board ids
permissions object Object containing user's permissions
Error 400
Field Description
BadRequest Account was not found or confirmation token doesn't match
Error 500
Field Description
InternalServerError There was an issue confirming the user account


Auth - Email Availability
GET
Back to Top

Used to check if an email is available when registering a new account.

/api/register/email/:email
Parameter
Field Type Description
email string The email to check
Success 200
Field Type Description
found boolean true if email exists false if not
Error 500
Field Description
InternalServerError There was an issue checking email availability


Auth - Register (via invitation)
POST
Back to Top

Used to register a new account via invitation.

/api/join
Payload
Field Type Description
hash string User's Invitation Hash.
username string User's unique username.
email string The email address to send the invite to.
password string User's password
confirmation string User's confirmed password
Success 200
Field Type Description
token string User's authentication token
id string User's unique id
username string The user account username
avatar string User's avatar url
permissions object Object containing user's permissions
moderating string[] Array of user's moderated board ids
roles string[] Array of user's roles
Error 400
Field Description
BadRequest There was an error creating the user via invitation.
Error 500
Field Description
InternalServerError There was an issue registering user


Auth - Login
POST
Back to Top

Used to log a user into their account.

/api/login
Payload
Field Type Description
username string User's unique username
password string User's password
Success 200
Field Type Description
token string User's authentication token
id string User's unique id
username string The user account username
avatar string User's avatar url
permissions object Object containing user's permissions
moderating string[] Array of user's moderated board ids
roles string[] Array of user's roles
Error 400
Field Description
BadRequest Invalid credentials were provided or the account hasn't been confirmed
Error 500
Field Description
InternalServerError There was an issue logging in


Auth - Logout
DELETE
Back to Top

Used to log a user out of their account.

/api/logout
Success 200
Field Type Description
success object 200 OK
Error 401
Field Description
Unauthorized Occurs when logging out on a view that requires special permissions
Error 400
Field Description
BadRequest No user is currently logged in
Error 500
Field Description
InternalServerError There was an issue deleteing user's web token


Auth - Register (w/o account verification)
POST
Back to Top

Used to register a new account with account verification disabled in admin settings.

/api/register
Payload
Field Type Description
username string User's unique username.
email string User's email address.
password string User's password
confirmation string User's confirmed password
Success 200
Field Type Description
token string User's authentication token
id string User's unique id
username string The user account username
avatar string User's avatar url
permissions object Object containing user's permissions
roles string[] Array of user's roles
Error 4xx
Field Description
BadRequest There was an error creating the user


Auth - Register (w/ account verification)
POST
Back to Top

Used to register a new account with account verification enabled in admin settings. This will send an email to the user with the account verification link.

/api/register
Payload
Field Type Description
username string User's unique username.
email string User's email address.
password string User's password
confirmation string User's confirmed password
Success 200
Field Type Description
message string Account creation success message
username string Created user's username
confirm_token string Created user's account confirmation token
avatar string User's avatar url
Error 400
Field Description
BadRequest There was an error registering the user


Auth - Username Availability
GET
Back to Top

Used to check if a username is available when registering a new account.

/api/register/username/:username
Parameter
Field Type Description
username string The username to check
Success 200
Field Type Description
found boolean true if username exists false if not


AutoModeration
AutoModeration - Add Rule
POST
Back to Top

Used to create a new auto moderation rule

Permissions: Super Administrator, Administrator

/api/automoderation/rules
Payload
Field Type Description
name string The name of the auto moderation rule
description string The description of what the rule does
message string The error message which is returned to the user
conditions object[] What conditions trigger the rule
conditions.params string The parameter that triggers the rule
conditions.regex object A regex used to capture user input and trigger rule
conditions.regex.pattern string The regex pattern
conditions.regex.flags string The regex flags
actions string[] Array containing what action is taken when the rule is matched
options object Contains settings related to the action that is taken
options.ban_interval number How many days to ban the user for, leave blank for permanent ban
options.edit object Contains information for replacing matched rule text
options.edit.replace object Contains info for what text to replace
options.edit.replace.regex object Regex to match text to replace
options.edit.replace.regex.pattern string The regex pattern
options.edit.replace.regex.flags string The regex flags
options.edit.replace.text string The text to replaced the matched text with
options.edit.template string Allows message to be replaced, prepended, or appended to
Success 200
Field Type Description
id string The id of the auto moderation rule
name string The name of the auto moderation rule
description string The description of what the rule does
message string The error message which is returned to the user
conditions object[] What conditions trigger the rule
conditions.params string The parameter that triggers the rule
conditions.regex object A regex used to capture user input and trigger rule
conditions.regex.pattern string The regex pattern
conditions.regex.flags string The regex flags
actions string[] Array containing what action is taken when the rule is matched
options object Contains settings related to the action that is taken
options.ban_interval number How many days to ban the user for, leave blank for permanent ban
options.edit object Contains information for replacing matched rule text
options.edit.replace object Contains info for what text to replace
options.edit.replace.regex object Regex to match text to replace
options.edit.replace.regex.pattern string The regex pattern
options.edit.replace.regex.flags string The regex flags
options.edit.replace.text string The text to replaced the matched text with
options.edit.template string Allows message to be replaced, prepended, or appended to
Error 500
Field Description
InternalServerError There was an error creating the auto moderation rule


AutoModeration - Edit Rule
PUT
Back to Top

Used to edit an existing auto moderation rule

Permissions: Super Administrator, Administrator

/api/automoderation/rules
Parameter
Field Type Description
id string The id of the auto moderation rule
Payload
Field Type Description
name string The name of the auto moderation rule
description string The description of what the rule does
message string The error message which is returned to the user
conditions object[] What conditions trigger the rule
conditions.params string The parameter that triggers the rule
conditions.regex object A regex used to capture user input and trigger rule
conditions.regex.pattern string The regex pattern
conditions.regex.flags string The regex flags
actions string[] Array containing what action is taken when the rule is matched
options object Contains settings related to the action that is taken
options.ban_interval number How many days to ban the user for, leave blank for permanent ban
options.edit object Contains information for replacing matched rule text
options.edit.replace object Contains info for what text to replace
options.edit.replace.regex object Regex to match text to replace
options.edit.replace.regex.pattern string The regex pattern
options.edit.replace.regex.flags string The regex flags
options.edit.replace.text string The text to replaced the matched text with
options.edit.template string Allows message to be replaced, prepended, or appended to
Success 200
Field Type Description
id string The id of the auto moderation rule
name string The name of the auto moderation rule
description string The description of what the rule does
message string The error message which is returned to the user
conditions object[] What conditions trigger the rule
conditions.params string The parameter that triggers the rule
conditions.regex object A regex used to capture user input and trigger rule
conditions.regex.pattern string The regex pattern
conditions.regex.flags string The regex flags
actions string[] Array containing what action is taken when the rule is matched
options object Contains settings related to the action that is taken
options.ban_interval number How many days to ban the user for, leave blank for permanent ban
options.edit object Contains information for replacing matched rule text
options.edit.replace object Contains info for what text to replace
options.edit.replace.regex object Regex to match text to replace
options.edit.replace.regex.pattern string The regex pattern
options.edit.replace.regex.flags string The regex flags
options.edit.replace.text string The text to replaced the matched text with
options.edit.template string Allows message to be replaced, prepended, or appended to
Error 500
Field Description
InternalServerError There was an error editing the auto moderation rule


AutoModeration - Remove Rule
DELETE
Back to Top

Used to remove an existing auto moderation rule

Permissions: Super Administrator, Administrator

/api/automoderation/rules/:id
Parameter
Field Type Description
id string The unique id of the rule to remove
Success 200
Field Type Description
HTTP object Code STATUS 200 OK
Error 500
Field Description
InternalServerError There was an error removing the auto moderation rule


AutoModeration - View Rules
GET
Back to Top

Returns auto moderation rules

Permissions: Super Administrator, Administrator

/api/automoderation/rules
Success 200
Field Type Description
rules object[] An array of auto moderation rules
rules.id string The id of the auto moderation rule
rules.name string The name of the auto moderation rule
rules.description string The description of what the rule does
rules.message string The error message which is returned to the user
rules.conditions object[] What conditions trigger the rule
rules.conditions.params string The parameter that triggers the rule
rules.conditions.regex object A regex used to capture user input and trigger rule
rules.conditions.regex.pattern string The regex pattern
rules.conditions.regex.flags string The regex flags
rules.actions string[] Array containing what action is taken when the rule is matched
rules.options object Contains settings related to the action that is taken
rules.options.ban_interval number How many days to ban the user for, leave blank for permanent ban
rules.options.edit object Contains information for replacing matched rule text
rules.options.edit.replace object Contains info for what text to replace
rules.options.edit.replace.regex object Regex to match text to replace
rules.options.edit.replace.regex.pattern string The regex pattern
rules.options.edit.replace.regex.flags string The regex flags
rules.options.edit.replace.text string The text to replaced the matched text with
rules.options.edit.template string Allows message to be replaced, prepended, or appended to
Error 500
Field Description
InternalServerError There was an error viewing the auto moderation rules


Bans
Bans - (Admin) Add Ban Addresses
POST
Back to Top

This allows Administrators to ban hostnames and addresses. When a user registers from a banned address, their account is automatically banned

Permissions: Super Administrator, Administrator

/api/ban/addresses
Payload
Field Type Description
data object[] An array of addresses to ban
data.hostname string The hostname to ban. If hostname is present IP should not be
data.ip string The IP address to ban. If IP is present hostname should not be
data.decay boolean Boolean indicating if the weight decays or not
data.weight number The weight of the address
Success 200
Field Type Description
data object[] An array of banned addresses
data.hostname string The banned hostname
data.ip string The banned IP address
data.decay boolean Boolean indicating if the weight decays or not
data.weight number The weight of the address
data.created_at string The created_at date of the banned address
data.updates string[] An array of dates when the banned address was updated
Error 500
Field Description
InternalServerError There was an error banning the addresses


Bans - (Admin) Ban From Boards
PUT
Back to Top

This allows Administrators and Moderators to ban users from boards.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/users/ban/board
Payload
Field Type Description
user_id string The unique id of the user to ban from boards
board_ids string[] Array of board ids to ban the user from
Success 200
Field Type Description
user_id string The unique id of the user being banned from boards
board_ids string[] Array of board ids to ban the user from
Error 500
Field Description
InternalServerError There was an error banning the user from Boards
Error 403
Field Description
Forbidden User tried to ban from a board they do not moderate, or tried to ban a user with higher permissions than themselves


Bans - (Admin) Ban
PUT
Back to Top

This allows Administrators and Moderators to ban users.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/users/ban
Payload
Field Type Description
user_id string The unique id of the user to ban
expiration
optional
timestamp The expiration date for the ban, when not defined ban is considered permanent
ip_ban
optional
boolean Boolean indicating that the user should be ip banned as well, this will make it so they cannot register from any of their known ips for a new account
Success 200
Field Type Description
id string The unique id of the row in users.bans
user_id string The unique id of the user being banned
roles object[] Array containing users roles
expiration timestamp Timestamp of when the user's ban expires
created_at timestamp Timestamp of when the ban was created
updated_at timestamp Timestamp of when the ban was last updated
Error 500
Field Description
InternalServerError There was an error banning the user


Bans - (Admin) Delete Ban Address
DELETE
Back to Top

This allows Administrators to delete banned hostnames and addresses.

Permissions: Super Administrator, Administrator

/api/ban/addresses
Query
Field Type Description
hostname string The hostname to delete. If hostname is present IP should not be.
ip string The IP address to delete. If IP is present hostname should not be.
Success 200
Field Type Description
hostname string The deleted banned hostname
ip string The deleted banned IP address
decay boolean The deleted boolean indicating if the weight decays or not
weight number The deleted weight of the address
created_at string The created_at date of the deleted banned address
updates string[] An array of dates when the deleted banned address was updated
Error 500
Field Description
InternalServerError There was an error deleting the banned address


Bans - (Admin) Edit Ban Address
PUT
Back to Top

This allows Administrators to edit banned hostnames and addresses.

Permissions: Super Administrator, Administrator

/api/ban/addresses
Payload
Field Type Description
hostname string The hostname to update. If hostname is present IP should not be.
ip string The IP address to update. If IP is present hostname should not be.
decay boolean The updated boolean indicating if the weight decays or not.
weight number The updated weight of the address
Success 200
Field Type Description
hostname string The updated banned hostname
ip string The updated banned IP address
decay boolean The updated boolean indicating if the weight decays or not
weight number The updated weight of the address
created_at string The created_at date of the banned address
updates string[] An array of dates when the banned address was updated
Error 500
Field Description
InternalServerError There was an error updating the banned address


Bans - (Admin) Get User's Banned Boards
GET
Back to Top

This allows Administrators and Moderators to retrieve a list of boards that a user has been banned from.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/users/:username/bannedboards
Parameter
Field Type Description
username string The username of the user to get banned boards for
Success 200
Field Type Description
banned_boards object[] An array of boards that the user is banned from
banned_boards.id string The id of the board the user is banned from
banned_boards.name string The name of the board the user is banned from
Error 500
Field Description
InternalServerError There was an error retrieving the user's banned boards
Error 403
Field Description
Forbidden User doesn't have permission to query for user's banned boards


Bans - (Admin) Page by Banned Addresses
GET
Back to Top

This allows Administrators to page through banned addresses.

Permissions: Super Administrator, Administrator

/api/ban/addresses
Query
Field Type Description
page
optional
number The page of results to return
limit
optional
number The number of results per page to return
search
optional
string hostname or IP address to search for
desc
optional
boolean boolean indicating whether or not to sort results in descending order
field
optional
string sorts results by specified field
Success 200
Field Type Description
page number The current page of results that is being returned
limit number The current number of results that is being returned per page
next boolean boolean indicating if there is a next page
prev boolean boolean indicating if there is a previous page
search string The search text that the results are being filtered by
desc boolean boolean indicating if the results are in descending order
field string field results are being sorted by
data object[] An array of banned addresses
data.hostname string The banned hostname
data.ip string The banned IP address
data.decay boolean Boolean indicating if the weight decays or not
data.weight number The weight of the address
data.created_at string The created_at date of the banned address
data.updated_at string The most reason updated date of the banned address
data.updates string[] An array of dates when the banned address was updated
data.update_count number The number of times the banned address has been updated
Error 500
Field Description
InternalServerError There was an error paging banned addresses
Error 403
Field Description
Forbidden User doesn't have permission to query banned addresses


Bans - (Admin) Page by Banned Boards
GET
Back to Top

This allows Administrators and Moderators to page through users who have been banned from boards.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/users/banned
Query
Field Type Description
page
optional
number The page of results to return
limit
optional
number The number of results per page to return
search
optional
string username, email, or user id to filter results by
board
optional
string board id to filter results by
modded
optional
boolean booolean which indicates to only retun users who were banned from boards in which the logged in user moderates
Success 200
Field Type Description
page number The current page of results that is being returned
limit number The current number of results that is being returned per page
next boolean boolean indicating if there is a next page
prev boolean boolean indicating if there is a previous page
search string The search text that the results are being filtered by
board string The board id that the results are being filtered by
modded boolean boolean indicating that the results being returned are within the users moderated boards
data object[] An array of board banned users and board data
data.username string The username of the board banned user
data.user_id string The id of the board banned user
data.email string The email of the board banned user
data.created_at string The created_at date of the board banned user's account
data.board_ids string[] An array of the board ids this user is banned from
data.board_names string[] An array of the board names this user is banned from
Error 500
Field Description
InternalServerError There was an error paging board banned users
Error 403
Field Description
Forbidden User doesn't have permission to query board banned users


Bans - (Admin) Unban From Boards
PUT
Back to Top

This allows Administrators and Moderators to unban users from boards.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/users/unban/board
Payload
Field Type Description
user_id string The unique id of the user to unban from boards
board_ids string[] Array of board ids to unban the user from
Success 200
Field Type Description
user_id string The unique id of the user being unbanned from boards
board_ids string[] Array of board ids to unban the user from
Error 500
Field Description
InternalServerError There was an error unbanning the user from Boards
Error 403
Field Description
Forbidden User tried to unban from a board they do not moderate, or tried to unban a user with higher permissions than themselves


Bans - (Admin) Unban
PUT
Back to Top

This allows Administrators and Moderators to unban users. Ban expiration is set to current timestamp, expiring it immediately

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/users/unban
Payload
Field Type Description
user_id string The unique id of the user to unban
Success 200
Field Type Description
id string The unique id of the row in users.bans
user_id string The unique id of the user being unbanned
roles object[] Array containing users roles
expiration timestamp Timestamp of when the user's ban expires (current timestamp)
created_at timestamp Timestamp of when the ban was created
updated_at timestamp Timestamp of when the ban was last updated
Error 500
Field Description
InternalServerError There was an error unbanning the user


Boards
Boards - All Boards
GET
Back to Top

Used to find all boards.

/api/admin/boards
Success 200
Field Type Description
boards object[] Array containing all of the forums boards
boards.id string The board's unique id
boards.name string The board's name
boards.description string The board's description
boards.viewable_by number Minimum priority a user must have to view the board, null if no restriction
boards.postable_by number Minimum priority a user must have to post in the board, null if no restriction
boards.created_at timestamp Created at date for board
boards.updated_at timestamp Last time the board was updated
boards.imported_at timestamp If the board was imported at, the
Error 500
Field Description
InternalServerError There was an issue finding all boards


Boards - Create
POST
Back to Top

Used to create a new board

Permissions: Super Administrator, Administrator

/api/boards
Payload
Field Type Description
boards object[] Array containing the boards to create
name string The name for the board
description
optional
string The description text for the board
viewable_by
optional
number The minimum priority required to view the board, null for no restriction
postable_by
optional
number The minimum priority required to post in the board, null for no restriction
Success 200
Field Type Description
id string The board's unique id
name string The board's name
description string The boards description
viewable_by number The minimum priority required to view the board, null for no restriction
postable_by number The minimum priority required to post in the board, null for no restriction
Error 500
Field Description
InternalServerError There was an issue creating the board


Boards - Delete
DELETE
Back to Top

Used to delete an existing board from the forum.

Permissions: Super Administrator, Administrator

/api/boards/:id
Payload
Field Type Description
board_ids string[] An array of board ids to delete
Success 200
Field Type Description
boards object[] An array of the deleted boards
id string The id of the deleted board
name string The name of the deleted board
Error 500
Field Description
InternalServerError There was an issue deleting the boards


Boards - Find Board
GET
Back to Top

Used to lookup a board

/api/boards/:id
Parameter
Field Type Description
id string The id of the board to lookup
Success 200
Field Type Description
id string The id of the board
name string The name of the board
parent_id string The id of the parent board if applicable
viewable_by number The minimum priority to be able to view the board, null for no restriction
postable_by number The minimum priority to be able to post to the board, null for no restriction
description string The board description text
thread_count number The number of threads within the board
post_count number The number of posts within the board
children object[] An array containing child boards if applicable
moderators object[] Array containing data about the moderators of the board
moderators.id string The id of the moderator
moderators.username string The username of the moderator
created_at timestamp The created at timestamp of the board
updated_at timestamp The updated at timestamp of the board
imported_at timestamp The imported at timestamp of the board
Error 500
Field Description
InternalServerError There was an issue finding the board


Boards - Move Boards
GET
Back to Top

Used to find all possible boards to move a thread to.

/api/admin/boards/move
Success 200
Field Type Description
boards object[] Array containing all of the forums boards
boards.parent_id string The board's parent board or category id
boards.parent_name string The board's parent board or category name
boards.id string The board's unique id
boards.name string The board's name
boards.view_order number The view order of the board
Error 500
Field Description
InternalServerError There was an issue finding all boards


Boards - Update
POST
Back to Top

Used to update an existing information for boards

Permissions: Super Administrator, Administrator

/api/boards/:id
Payload
Field Type Description
boards object[] Array containing the boards to create
id string The board id
name string The name for the board
description string The description text for the board
viewable_by number The minimum priority required to view the board, null for no restriction
postable_by number The minimum priority required to post in the board, null for no restriction
Success 200
Field Type Description
id string The board's unique id
name string The board's name
description string The boards description
viewable_by number The minimum priority required to view the board, null for no restriction
postable_by number The minimum priority required to post in the board, null for no restriction
Error 500
Field Description
InternalServerError There was an issue updating the boards


Breadcrumbs - Find
GET
Back to Top

Used to get the breadcrumbs from board, thread, category or post id

/api/breadcrumbs
Query
Field Type Description
id string The unique id of the board, thread, category or post to retrieve breadcrumbs for
type string The type of the id being provided (board, category, thread, or post)
Success 200
Field Type Description
breadcrumbs object[] Array containing breadcrumb objects
breadcrumbs.label string Label for the breadcrumb link
breadcrumbs.state string State for backing the label
breadcrumbs.opts object State options to pass to ui-sref, can include id or hash
Error 500
Field Description
InternalServerError There was an issue retrieving the breadcrumbs


Categories
Categories - All Categories (Includes Private)
GET
Back to Top

Used to retrieve all boards within their respective categories not filtering private boards.

/api/admin/categories
Success 200
Field Type Description
categories object[] An array containing categories and all their boards
categories.id string The categories unique id
categories.name string The categories name
categories.view_order number The categories view order
categories.imported_at timestamp If the category was imported, the import date
categories.viewable_by number Minimum priority a user must have to view the category, null if no restriction
categories.postable_by number Minimum priority a user must have to post in boards within this category, null if no restriction
categories.boards object[] Array of boards within this category
categories.boards.id string The board's unique id
categories.boards.name string The board's name
categories.boards.description string The board's description
categories.boards.viewable_by number Minimum priority a user must have to view the board, null if no restriction
categories.boards.postable_by number Minimum priority a user must have to post in the board, null if no restriction
categories.boards.thread_count number Number of threads in the board
categories.boards.post_count number Number of posts in the board
categories.boards.created_at timestamp Created at date for board
categories.boards.updated_at timestamp Last time the board was updated
categories.boards.imported_at timestamp If the board was imported at, the time it was imported
categories.boards.last_thread_id string The id of the thread last posted in
categories.boards.parent_id string If the board is a child board the parent board's id
categories.boards.category_id string The id of the board's parent category
categories.boards.view_order number The view order of the board
categories.boards.last_thread_title string The title of the thread last posted in
categories.boards.post_deleted boolean Indicates if the last post in the board was deleted
categories.boards.last_post_created_at timestamp Timestamp of the last post in the board's created date
categories.boards.last_post_position number The position of the last post within the thread
categories.boards.last_post_username string The username of the author of the last post within the board
categories.boards.last_post_avatar string The avatar of the author of the last post within the board
categories.boards.user_id string The id of the author of the last post within the board
categories.boards.user_deleted boolean Boolean which indicates if the last user to post within the board has had their account deleted
categories.boards.moderators object[] Array of boards moderators
categories.boards.moderators.id string The id of the moderator
categories.boards.moderators.username string The username of the moderator
categories.boards.children object[] Array of child boards of this board
Error 500
Field Description
InternalServerError There was an issue retrieving categories


Categories - All Categories (Filters Private)
GET
Back to Top

Used to retrieve all boards within their respective categories.

/api/boards
Query
Field Type Description
page
optional
number The page of threads to bring back for recent threads
limit
optional
number The number of threads to bring back per page for recent threads
stripped
optional
boolean If true brings back boards with no additional metadata
Success 200
Field Type Description
data object Object containing boards and recent thread data
data.boards object[] contains boards in their respective categories
data.boards.id string The id of the category
data.boards.name string The name of the category
data.boards.view_order number The view order of the category
data.boards.viewable_by number The minimum priority to be able to view category, null for no restriction
data.boards.postable_by number The minimum priority to be able to post in category, null for no restriction
data.boards.imported_at timestamp If the category was imported, the import timestamp
data.boards.boards object[] Array containing boards nested within category
data.boards.boards.id string The id of the board
data.boards.boards.name string The name of the board
data.boards.boards.category_id string The id of the category containing the board
data.boards.boards.parent_id string The id of the parent board if applicable
data.boards.boards.view_order number The view order of the board
data.boards.boards.viewable_by number The minimum priority to be able to view the board, null for no restriction
data.boards.boards.postable_by number The minimum priority to be able to post to the board, null for no restriction (stripped=false)
data.boards.boards.description string The board description text(stripped=false)
data.boards.boards.thread_count number The number of threads within the board (stripped=false)
data.boards.boards.post_count number The number of posts within the board(stripped=false)
data.boards.boards.last_thread_id string The id of the last posted in thread (stripped=false)
data.boards.boards.last_thread_title string The title of the last posted in thread (stripped=false)
data.boards.boards.post_deleted boolean Boolean indicating if the last post in the board was deleted (stripped=false)
data.boards.boards.last_post_postion number The position of the last post within a thread in the board (stripped=false)
data.boards.boards.last_post_created_at timestamp The created at timestamp of the most recent post (stripped=false)
data.boards.boards.last_post_username string The username of the user who created the most recent post (stripped=false)
data.boards.boards.last_post_avatar string The avatar of the user who created the most recent post (stripped=false)
data.boards.boards.user_id string The id of the user who created the most recent post (stripped=false)
data.boards.boards.user_deleted boolean Boolean indicating if the user who created the most recent post has had their account deleted (stripped=false)
data.boards.boards.children object[] An array containing child boards if applicable
data.boards.boards.moderators object[] Array containing data about the moderators of the board (stripped=false)
data.boards.boards.moderators.id string The id of the moderator
data.boards.boards.moderators.username string The username of the moderator
data.boards.boards.created_at timestamp The created at timestamp of the board(stripped=false)
data.boards.boards.updated_at timestamp The updated at timestamp of the board(stripped=false)
data.boards.boards.imported_at timestamp The imported at timestamp of the board(stripped=false)
data.threads object[] contains threads with most recent posts (stripped=false)
data.threads.id string The id of the thread
data.threads.locked boolean Boolean indicating if the thread is locked
data.threads.sticky boolean Boolean indicating if the thread is stickied
data.threads.moderated boolean Boolean indicating if the thread is self moderated
data.threads.poll boolean Boolean indicating if the thread has a poll
data.threads.updated_at timestamp updated at timestamp of the thread
data.threads.view_count number View count of the thread
data.threads.title string The title of the thread
data.threads.board object The board the thread is in
data.threads.board.id string The id of the board
data.threads.board.name string The name of the board
data.threads.post object The post object for the thread
data.threads.post.id string The id of the post
data.threads.post.position number The position of the last post
data.threads.post.created_at timestamp The created at timestamp of the post
data.threads.post.deleted boolean Boolean indicating if the post was deleted
data.threads.user object The user who created the post
data.threads.user.id string The id of the user who created the last post
data.threads.user.username string The username of the user who created the last post
data.threads.user.deleted boolean Boolean indicating if the user who created the last post had their account deleted
Error 500
Field Description
InternalServerError There was an issue retrieving boards


Categories - Create Categories
POST
Back to Top

Used to create categories

Permissions: Super Administrator, Administrator

/api/categories
Payload
Field Type Description
categories string[] Array of category names
Success 200
Field Type Description
categories object[] Array of created category
categories.id string The id of the newly created category
categories.name string The name of the newly created category
Error 500
Field Description
InternalServerError There was an issue creating the categories


Categories - Delete Categories
POST
Back to Top

Used to delete categories

Permissions: Super Administrator, Administrator

/api/categories/delete
Payload
Field Type Description
category_ids string[] Array of category ids to delete
Success 200
Field Type Description
category_ids string[] Array of deleted category ids
Error 500
Field Description
InternalServerError There was an issue deleting the categories


Categories - Update Categories
POST
Back to Top

Used to update boards within their categories.

Permissions: Super Administrator, Administrator

/api/categories
Payload
Field Type Description
boardMapping object[] Array containing mapping of boards and categories
boardMapping.id string The id of the category or board
boardMapping.name string The name of the category or board
boardMapping.type string The type of the mapping object
boardMapping.view_order number The view order of the board or category
boardMapping.category_id
optional
string If type is "board" the id of the category the board belongs to
boardMapping.parent_id
optional
string If type is "board" and the board is a child board, the id of the parent board
Success 200
Field Type Description
operations array Array containing all of the operations performed while updating categories
Error 500
Field Description
InternalServerError There was an issue updating categories/boards


Conversations
Conversations - Create
POST
Back to Top

Used to create a new conversation and the first message of the conversation.

Permissions: User

/api/conversations
Payload
Field Type Description
receiver_id string The id of the user receiving the message/conversation
body string The content of the message/conversation
Success 200
Field Type Description
id string The unique id of the message
conversation_id string The unique id of the conversation this message belongs to
sender_id string The unique id of the user that sent this message
receiver_id string The unique id of the user that sent this message
body string The contents of this message
viewed boolean The flag showing if the receiver viewed this message
created_at timestamp Timestamp of when the conversation was created
Error 500
Field Description
InternalServerError There was an issue creating the conversation


Conversations - Delete
DELETE
Back to Top

Used to delete a conversation.

Permissions: Admin

/api/conversations/:id
Parameter
Field Type Description
id string The Id of the conversation to delete
Success 200
Field Type Description
id string The unique id of the conversation being deleted
sender_id string The unique id of the sender
receiver_id string The unique id of the receiver
Error 500
Field Description
InternalServerError There was an issue deleting the conversation


Conversations - Messages in Conversation
GET
Back to Top

Used to get messages for this conversation.

Permissions: User

/api/conversations/:id
Parameter
Field Type Description
id string The id of the conversation to get
Query
Field Type Description
timestamp
optional
timestamp The timestamp to look for messages before
message_id
optional
string The id of the last message
limit
optional
number How many messages to return per page
Success 200
Field Type Description
id string The id of the conversation
has_next boolean Boolean indicating if there are more messages
last_message_timestamp timestamp timestamp of the last message
last_message_id timestamp timestamp of the last message
messages object[] An array of messages in this conversation
messages.id string The unique id of the message
messages.conversation_id string The unique id of the conversation this message belongs to
messages.sender_id string The unique id of the user that sent this message
messages.receiver_id string The unique id of the user that sent this message
messages.body string The contents of this message
messages.viewed boolean The flag showing if the receiver viewed this message
messages.created_at timestamp Timestamp of when the conversation was created
messages.sender_username string The username of the sender
messages.sender_deleted boolean Boolean indicating if the sender's account is deleted
messages.sender_avatar string The avatar of the sender
messages.receiver_username string The username of the receiver
messages.receiver_deleted boolean Boolean indicating if the receiver's account is deleted
messages.receiver_avatar string The avatar of the receiver
Error 500
Field Description
InternalServerError There was an issue getting messages for this conversation


Legal - (Admin) Text
GET
Back to Top

Used to fetch the ToS, privacy policy and disclaimer to be updated by the user.

/api/admin/legal
Success 200
Field Type Description
tos string The source html for the terms of service page
privacy string The source html for the privacy page
disclaimer string The source html for the disclaimer page
Error 500
Field Description
InternalServerError There was an issue retrieving the ToS, privacy policy and disclaimer.


Legal - (Admin) Reset Legal Text
POST
Back to Top

Used to reset legal text to default text

/api/admin/legal/reset
Success 200
Field Type Description
tos string The source html for the terms of service page
privacy string The source html for the privacy page
disclaimer string The source html for the disclaimer page
Error 500
Field Description
InternalServerError There was an issue retrieving the ToS, privacy policy and disclaimer.


Legal - (Admin) Update
PUT
Back to Top

Used to update all legal text: ToS, privacy policy, disclaimers.

/api/admin/legal
Payload
Field Type Description
tos
optional
string The updated Terms of Service.
privacy
optional
string The updated privacy policy.
disclaimer
optional
string The updated disclaimer.
Success 200
Field Type Description
success object 200 OK
Error 500
Field Description
InternalServerError There was an issue retrieving the ToS, privacy policy and disclaimer.


Mentions
Mentions - Delete Mentions
DELETE
Back to Top

Used to delete a user's mentions

Permissions: User

/api/mentions
Query
Field Type Description
id string The id of the mention to delete
Success 200
Field Type Description
deleted boolean True if the mention was deleted
Error 500
Field Description
InternalServerError There was an issue deleting the mention


Mentions - View Mentions
GET
Back to Top

Used to view a user's mentions

Permissions: User

/api/mentions
Query
Field Type Description
page
optional
number The page of mentions to return
limit
optional
number The number mentions to return per page
extended
optional
boolean Brings back extra data such as parts of the post body, board name, board id, etc...
Success 200
Field Type Description
page number The page of mentions being returned
limit number The number mentions being returned per page
prev boolean Boolean indicating if there is a previous page
next boolean Boolean indicating if there is a next page
extended boolean Boolean indicating if extra metadata should be returned
data object[] Array containing mention objects
data.id string The id of the mention
data.thread_id string The id of the thread the mention is in
data.title string The title of the thread the mention is in
data.post_id string The id of the post the mention is in
data.post_start number The start position of the post in the thread
data.mentioner string The username of the mentioner
data.mentioner_avatar string The avatar of the mentioner
data.notification_id string The id of the notification (for websockets)
data.viewed boolean Boolean indicating if the mention has been viewed
data.created_at timestamp Timestamp of when the mention was created
data.board_id string The id of the board the mention is in (If extended=true)
data.board_name string The name of the board the mentions is in(If extended=true)
data.body string The body of the post the mention is in (If extended=true)
data.raw_body string The unprocess body of the post the mention is in (If extended=true)
Error 500
Field Description
InternalServerError There was an error paging user mentions


Mentions - Ignore User's Mentions
POST
Back to Top

Used to ignore mentions from a specific user's

Permissions: User

/api/mentions/ignore
Payload
Field Type Description
username string The name of the user to ignore mentions from
Success 200
Field Type Description
success boolean True if the user was ignored
Error 500
Field Description
InternalServerError There was an issue ignoring mentions


Mentions - Page Ignored Users
GET
Back to Top

Used to page through user's whos mentions are being ignored

Permissions: User

/api/mentions/ignored
Query
Field Type Description
page
optional
number The page of ignored users to return
limit
optional
number The number ignored users to return per page
Success 200
Field Type Description
page number The page of ignored users being returned
limit number The number ignored users being returned per page
prev boolean Boolean indicating if there is a previous page
next boolean Boolean indicating if there is a next page
data object[] Array containing ignored users
data.username string The name of the user being ignored
data.id string The id of the user being ignored
data.avatar string The avatar of the user being ignored
data.ignored boolean Boolean indicating if the user's mentions are being ignored
Error 500
Field Description
InternalServerError There was an error paging ignored users


Mentions - Unignore User's Mentions
POST
Back to Top

Used to unignore mentions from a specific user's

Permissions: User

/api/mentions/unignore
Payload
Field Type Description
username string The name of the user to unignore mentions from
Success 200
Field Type Description
success boolean True if the user was unignored
Error 500
Field Description
InternalServerError There was an issue unignoring mentions


Messages
Messages - Create
POST
Back to Top

Used to create a new message.

Permissions: User

/api/messages
Payload
Field Type Description
conversation_id string The id of the conversation the message should be created in
receiver_id string The id of the user receiving the message/conversation
body string The content of the message/conversation
Success 200
Field Type Description
id string The unique id of the message
conversation_id string The unique id of the conversation this message belongs to
sender_id string The unique id of the user that sent this message
receiver_id string The unique id of the user that sent this message
body string The contents of this message
viewed boolean The flag showing if the receiver viewed this message
created_at timestamp Timestamp of when the conversation was created
Error 500
Field Description
InternalServerError There was an issue creating the message


Messages - Delete
DELETE
Back to Top

Used to delete a message.

Permissions: User (Message's Author) or Admin

/api/messages/:id
Parameter
Field Type Description
id string The Id of the message to delete
Success 200
Field Type Description
id string The unique id of the message being deleted
sender_id string The unique id of the user that sent this message
receiver_id string The unique id of the user that sent this message
Error 500
Field Description
InternalServerError There was an issue deleting the message


Messages - Message Receiver Lookup
GET
Back to Top

Query possible username matches and returns their ids for use in message delivery

Permissions: User

/api/messages/users/{username}
Parameter
Field Type Description
username string The name of the user to send the message to
Success 200
Field Type Description
users object[] An array of possible username matches
users.id string The id of the user
users.username string The username of th user
Error 500
Field Description
InternalServerError There was an issue looking up usernames


Messages - Get Recent Messages
GET
Back to Top

Get the latest messages for this user.

Permissions: User

/api/messages
Query
Field Type Description
page
optional
number The page of messages to return
limit
optional
number The number of messages per page
Success 200
Field Type Description
sender_username string The username of the sender
sender_deleted boolean Boolean indicating if the sender's account is deleted
sender_avatar string The avatar of the sender
receiver_username string The username of the receiver
receiver_deleted boolean Boolean indicating if the receiver's account is deleted
receiver_avatar string The avatar of the receiver
id string The unique id of the message
conversation_id string The unique id of the conversation this message belongs to
sender_id string The unique id of the user that sent this message
receiver_id string The unique id of the user that sent this message
body string The contents of this message
viewed boolean The flag showing if the receiver viewed this message
created_at timestamp Timestamp of when the conversation was created
Error 500
Field Description
InternalServerError There was an issue getting the messages


Moderation
Moderation - (Admin) Page Moderation Log
GET
Back to Top

This allows Administrators to page through all actions performed by moderators.

Permissions: Super Administrator, Administrator

/api/admin/modlog
Query
Field Type Description
page
optional
number The page of moderation logs to retrieve
limit
optional
number The number of logs to retrieve per page
mod
optional
string The username of the moderator to search logs for
action
optional
action The action to search for, follows route permission conventions (e.g. posts.create, posts.update, etc...)
keyword
optional
string Keywords to search log for
bdate
optional
timestamp Used to search for logs before specific date
adate
optional
timestamp Used to search for logs after specific date
sdate
optional
timestamp Used to search for logs between specific date (start)
edate
optional
timestamp Used to search for logs between specific date (end)
Success 200
Field Type Description
page number The current page of moderation logs being returned
limit number The number of logs being returned per page
next number The page number of the next page
prev number The page number of the previous page
data object[] Array containing moderation logs
mod_username string The username of the mod who performed the action
mod_id string The id of the mod who performed the action
mod_ip string The ip address of the mod who performed the action
action_api_url string The route that the moderator used to perform action
action_api_method string The route method type (e.g. PUT, GET, etc..)
action_api_obj object Metadata which was saved to the log when the action was performed
action_taken_at timestamp Timestamp of when the action was performed
action_type string The type of action that was performed, follows route permission conventions (e.g. posts.create, posts.update, etc...)
action_display_text string Text describing what action was taken
Error 500
Field Description
InternalServerError There was an error retrieving the moderation logs


Moderators
Moderators - Add Moderator
POST
Back to Top

Add a moderator to a board.

Permissions: Super Administrator, Administrator,

/api/admin/moderators
Payload
Field Type Description
usernames string[] Array of usernames to add as a moderator.
board_id string The id of the board to add the moderator to.
Success 200
Field Type Description
moderators object[] Array of users who were added as moderators
moderators.id string The unique id of the moderator
moderators.username string The username of the moderator
moderators.roles object[] Array of the users roles, including new moderator role
Error 500
Field Description
InternalServerError There was an issue adding the moderator.


Moderators - Remove Moderator
POST
Back to Top

Remove a moderator from a board.

Permissions: Super Administrator, Administrator,

/api/admin/moderators/remove
Payload
Field Type Description
username string[] Array of user ids of the user to remove from being a moderator.
board_id string The id of the board to remove the moderator from.
Success 200
Field Type Description
moderators object[] Array of users who were removed from list of moderators
moderators.id string The unique id of the moderator
moderators.username string The username of the moderator
Error 500
Field Description
InternalServerError There was an issue removing the moderator.


Notifications
Notifications - Get Notifications counts
GET
Back to Top

Get the notifications counts for this user.

Permissions: User

/api/notifications/counts
Success 200
Field Type Description
notificationsCounts object Object containing notification count information
notificationsCounts.message number Number of message notifications
notificationsCounts.mention number Number of mention notifications
notificationsCounts.other number Number of other notifications
Error 500
Field Description
InternalServerError There was an issue getting the notifications counts


Notifications - Dismiss
POST
Back to Top

Used to dismiss all notifications of a type.

Permissions: User

/api/notifications
Payload
Field Type Description
type string The type of notifications to dismiss
id string The id of the specific notification to dismiss
Success 200
Field Type Description
STATUS object 200 OK
Error 500
Field Description
InternalServerError There was an issue dismissing the notifications


Portal
Portal - Portal Contents
GET
Back to Top

Used to retrieve the portal contents.

/api/portal
Success 200
Field Type Description
boards object[] contains boards to be displayed in portal
boards.id string The id of the board
boards.name string The name of the board
boards.parent_id string The id of the parent board if applicable
boards.viewable_by number The minimum priority to be able to view the board, null for no restriction
boards.postable_by number The minimum priority to be able to post to the board, null for no restriction (stripped=false)
boards.description string The board description text(stripped=false)
boards.thread_count number The number of threads within the board (stripped=false)
boards.post_count number The number of posts within the board(stripped=false)
boards.moderators object[] Array containing data about the moderators of the board (stripped=false)
boards.moderators.id string The id of the moderator
boards.moderators.username string The username of the moderator
boards.created_at timestamp The created at timestamp of the board(stripped=false)
boards.updated_at timestamp The updated at timestamp of the board(stripped=false)
boards.imported_at timestamp The imported at timestamp of the board(stripped=false)
threads object[] contains threads with most recent posts (stripped=false)
threads.id string The id of the thread
threads.locked boolean Boolean indicating if the thread is locked
threads.sticky boolean Boolean indicating if the thread is stickied
threads.moderated boolean Boolean indicating if the thread is self moderated
threads.poll boolean Boolean indicating if the thread has a poll
threads.updated_at timestamp updated at timestamp of the thread
threads.view_count number View count of the thread
threads.title string The title of the thread
threads.last_post_id string The id of the last post
threads.last_post_position number The position of the last post
threads.last_post_created_at timestamp Created at timestamp of last post
threads.last_post_updated_at timestamp Updated at timestamp of last post
threads.post_body string The body of the post
threads.post_avatar string The avatar of the user who made the last post
threads.post_signature string The signature of the user who made the last post
threads.post_user_name string the name of the user who made the last post
threads.post_highlight_color string The highlight color of the user who made the last post
threads.post_role_name string The role of the user who made the last post
threads.last_post_username string The username of the user who made the last post
threads.user object The user who created the post
threads.user.id string The id of the user who created the last post
threads.user.username string The username of the user who created the last post
threads.user.deleted boolean Boolean indicating if the user who created the last post had their account deleted
recent object[] contains threads with most recent posts (stripped=false)
recent.id string The id of the thread
recent.locked boolean Boolean indicating if the thread is locked
recent.sticky boolean Boolean indicating if the thread is stickied
recent.moderated boolean Boolean indicating if the thread is self moderated
recent.poll boolean Boolean indicating if the thread has a poll
recent.updated_at timestamp updated at timestamp of the thread
recent.view_count number View count of the thread
recent.title string The title of the thread
recent.board object The board the thread is in
recent.board.id string The id of the board
recent.board.name string The name of the board
recent.post object The post object for the thread
recent.post.id string The id of the post
recent.post.position number The position of the last post
recent.post.created_at timestamp The created at timestamp of the post
recent.post.deleted boolean Boolean indicating if the post was deleted
recent.user object The user who created the post
recent.user.id string The id of the user who created the last post
recent.user.username string The username of the user who created the last post
Error 400
Field Description
BadRequest Portal is disabled.
Error 500
Field Description
InternalServerError There was an issue retrieving portal content.


Posts
Posts - Create
POST
Back to Top

Used to create a new post.

Permissions: User

/api/posts
Payload
Field Type Description
title string The title of the post
raw_body string The post's body as it was entered in the editor by the user
thread_id string The unique id of the thread the post belongs to
Success 200
Field Type Description
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
deleted boolean boolean indicating if post has been deleted
locked boolean boolean indicating if post has been locked
raw_body string The post's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the post was created
Error 500
Field Description
InternalServerError There was an issue creating the post


Posts - Delete
DELETE
Back to Top

Used to delete a post.

Permissions: User (Post's Author) or Admin

/api/posts/:id
Parameter
Field Type Description
id string The Id of the post to delete
Success 200
Field Type Description
position number The position of the post within the thread
updated_at timestamp The updated at timestamp of the post
imported_at timestamp The imported at timestamp of the post
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
deleted boolean boolean indicating if post has been deleted
locked boolean boolean indicating if post has been locked
raw_body string The post's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the post was created
Error 500
Field Description
InternalServerError There was an issue deleting the post


Posts - Find
GET
Back to Top

Used to find a post.

/api/posts/:id
Parameter
Field Type Description
id string The unique id of the post to retrieve
Success 200
Field Type Description
avatar string The avatar of the post author
position number The position of the post within the thread
updated_at timestamp The updated at timestamp of the post
imported_at timestamp The imported at timestamp of the post
user object Object containing user data about the author of the post
user.id string The id of the user
user.name string The name of the user
user.username string The username of the user
user.signature string The signature of the user
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
deleted boolean boolean indicating if post has been deleted
locked boolean boolean indicating if post has been locked
raw_body string The post's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the post was created
Error 500
Field Description
InternalServerError There was an issue finding the post


Posts - Lock
POST
Back to Top

Used to lock a post.

Permissions: Admin or Mod

/api/posts/:id/lock
Parameter
Field Type Description
id string The Id of the post to lock
Success 200
Field Type Description
position number The position of the post within the thread
updated_at timestamp The updated at timestamp of the post
imported_at timestamp The imported at timestamp of the post
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
deleted boolean boolean indicating if post has been deleted
locked boolean boolean indicating if post has been locked
raw_body string The post's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the post was created
Error 400
Field Description
BadRequest Post Not Found
Error 500
Field Description
InternalServerError There was an issue deleting the post


Posts - Page By Thread
GET
Back to Top

Used to page through posts by thread.

/api/posts
Query
Field Type Description
thread_id string Id of the thread to retrieve posts from
page number Specific page of posts to retrieve. Only valid when start param is not present.
limit number Number of posts to retrieve per page.
start number Specific post within the thread. Only valid when page param is not present.
Success 200
Field Type Description
write_access boolean Boolean indicating if user has write access to thread
banned_from_board boolean Boolean indicating if user is banned from this board
page number The page of posts being returned
limit number The number of posts per page being returned
thread object Object containing thread metadata
thread.id string The id of the thread
thread.board_id string The id of the board the thread is in
thread.locked boolean Boolean indicating if thread is locked
thread.sticky boolean Boolean indicating if thread is stickied
thread.moderated boolean Boolean indicating if thread is self moderated
thread.watched boolean Boolean indicating if thread is being watched
thread.trust_visible boolean Boolean indicating if trust score is visible
thread.post_count number Number of posts in the thread
thread.created_at timestamp Thread created at timestamp
thread.updated_at timestamp Thread updated at timestamp
thread.user object The user who started the thread
thread.user.id string The id of the user who started the thread
thread.user.username string The username of the user who started the thread
thread.user.deleted boolean Boolean indicating if the thread started has had their account deleted
thread.poll object Object that contains poll data, if thread has a poll
thread.poll.id string The unique id of the poll
thread.poll.question string The question asked in the poll
thread.poll.answers object[] The list of the answers to the question of this poll
thread.poll.answers.answer string The answer to the question of this poll
thread.poll.max_answers number The max number of answer per vote
thread.poll.change_vote boolean Boolean indicating whether users can change their vote
thread.poll.locked boolean Boolean indicating whether the poll is locked or not
thread.poll.has_voted boolean Boolean indicating whether or not the user has voted
thread.poll.expiration date The expiration date of the poll
thread.poll.display_mode string String indicating how the results are shown to users
posts object[] Object containing thread posts
posts.id string The id of the post
posts.position number The position of the post in the thread
posts.thread_id string The id of the thread containing the post
posts.board_id string The id of the board containing the post
posts.title string The title of the post
posts.body string The processed body of the post
posts.raw_body string The unprocessed body of the post
posts.locked boolean Boolean indicating if the thread is locked
posts.reported boolean Boolean indicating if the post has been reported
posts.created_at timestamp The created at timestamp of the post
posts.updated_at timestamp The updated at timestamp of the post
posts.imported_at timestamp The imported at timestamp of the post
posts.avatar string The avatar of the user who made the post
posts.user object Object containing user data about the author of the post
posts.user.id string The id of the user
posts.user.name string The name of the user
posts.user.username string The username of the user
posts.user.priority number The priority of the user
posts.user.signature string The signature of the user
posts.user.highlight_color string The role highlight color of the user
posts.user.role_name string The role name of the user
posts.user.activity number The user's activity number
posts.user.stats object Object containing trust stats for user
posts.user.stats.score number The user's overall trust score
posts.user.stats.neg number The user's negative trust points
posts.user.stats.pos number The user's positive trust points
Error 500
Field Description
InternalServerError There was an issue finding the posts for thread


Posts - Page By User
GET
Back to Top

Used to page through posts made by a particular user

/api/posts/user/:username
Parameter
Field Type Description
username string The username of the user's whose posts to page through
Query
Field Type Description
page
optional
number Which page of the user's posts to retrieve
limit
optional
number How many posts to return per page
desc
optional
boolean True to sort descending, false to sort ascending
Success 200
Field Type Description
page number The page of posts to return
limit number The number of posts to return per page
desc boolean Boolean indicating the sort order of the posts
posts object[] Object containing users posts
posts.id string The id of the post
posts.thread_id string The id of the thread containing the post
posts.raw_body string The unprocessed body of the post
posts.body string The processed body of the post
posts.position number The position of the post in the thread
posts.deleted boolean Boolean indicating if the post is deleted
posts.hidden boolean Boolean indicating if the post is hidden (true if user is owner of deleted post)
posts.created_at timestamp The created at timestamp of the post
posts.updated_at timestamp The updated at timestamp of the post
posts.imported_at timestamp The imported at timestamp of the post
posts.board_id string The id of the board containing the post
posts.thread_title string The title of the thread the post is in
posts.avatar string The avatar of the user who made the post
posts.user object Object containing user data about the author of the post
posts.user.id string The id of the user
Error 500
Field Description
InternalServerError There was an issue paging posts for user


Posts - Search Posts
GET
Back to Top

This allows users to search forum posts.

Permissions: User

/api/search/posts
Query
Field Type Description
page
optional
number The page of search results to retrieve
limit
optional
number The number of search results per page
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
search
optional
string The term to search posts for
Success 200
Field Type Description
limit number The number of results returned per page
page string The current page of the results
desc number The order the results are sorted in
search string The search term used in query for posts
next number The number of the next page of search results
prev number The number of the previous page of search results
posts object[] An array of post objects
posts.id string The unique id of the post
posts.thread_title string The title of the thread the post belongs to
posts.user_id string The id of the author of the post
posts.created_at timestamp Timestamp of when the post was created
posts.thread_id string The id of the thread the post belongs to
posts.position number The position of the post within the thread
posts.body string The body of the post
posts.board_id string The id of the board the post belongs to
posts.board_name string The name of the board the post belongs to
posts.user string User object containing info about user who made post
posts.user.username string Username of the user who made the post
Error 500
Field Description
InternalServerError There was an error retrieving the users


Posts - Purge
DELETE
Back to Top

Used to purge a post.

Permissions: Admin

/api/posts/:id/purge
Parameter
Field Type Description
id string The Id of the post to purge
Success 200
Field Type Description
user_id string The id of the user who created the post
thread_id string The id of the thread that the post belonged to
Error 500
Field Description
InternalServerError There was an issue purging the post


Posts - Undelete
POST
Back to Top

Used to undo a deleted post.

Permissions: User (Post's Author) or Admin

/api/posts/:id
Parameter
Field Type Description
id string The Id of the post to undo deletion on
Success 200
Field Type Description
position number The position of the post within the thread
updated_at timestamp The updated at timestamp of the post
imported_at timestamp The imported at timestamp of the post
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
deleted boolean boolean indicating if post has been deleted
locked boolean boolean indicating if post has been locked
raw_body string The post's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the post was created
Error 500
Field Description
InternalServerError There was an issue undeleting the post


Posts - Unlock
POST
Back to Top

Used to unlock a post.

Permissions: Admin or Mod

/api/posts/:id/unlock
Parameter
Field Type Description
id string The Id of the post to unlock
Success 200
Field Type Description
position number The position of the post within the thread
updated_at timestamp The updated at timestamp of the post
imported_at timestamp The imported at timestamp of the post
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
deleted boolean boolean indicating if post has been deleted
locked boolean boolean indicating if post has been locked
raw_body string The post's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the post was created
Error 400
Field Description
BadRequest Post Not Found
Error 500
Field Description
InternalServerError There was an issue deleting the post


Posts - Update
POST
Back to Top

Used to update a post.

Permissions: User (Post's Author) or Admin

/api/posts/:id
Parameter
Field Type Description
id string The unique id of the post being updated
Payload
Field Type Description
title string The title of the post
raw_body string The post's body as it was entered in the editor by the user
thread_id string The unique id of the thread the post belongs to
Success 200
Field Type Description
id string The unique id of the post
thread_id string The unique id of the thread the post belongs to
user_id string The unique id of the user who created the post
title string The title of the post
body string The post's body with any markup tags converted and parsed into html elements
raw_body string The post's body as it was entered in the editor by the user
updated_at timestamp Timestamp of when the post was updated
Error 500
Field Description
InternalServerError There was an issue updating the post


Reports
Reports - Create Message Report
POST
Back to Top

Used to report a private message for moderators/administrators to review.

Permissions: User

/api/reports/messages
Payload
Field Type Description
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending private message
offender_message_id string The unique id of the private message being reported
Success 200
Field Type Description
id string The unique id of the private message report which was created
status string The status of the report
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending message
reviewer_user_id string The unique id of the user reviewing the report
offender_message_id string The unique id of the private message being reported
created_at timestamp Timestamp of when the private message report was created
updated_at timestamp Timestamp of when the private message report was updated
Error 500
Field Description
InternalServerError There was an issue reporting the message report


Reports - (Admin) Create Message Report Note
POST
Back to Top

Used to leave a note on message moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/messagenotes
Payload
Field Type Description
report_id string The id of the message report to leave the note on
user_id string The id of the message leaving the message report note
note string The note being left on the message report
Success 200
Field Type Description
id string The unique id for the message report note
report_id string The id of the message report to leave the note on
user_id string The id of the user leaving the message report note
username string The username of the user who left the message report note
avatar string The url to the avatar of the user who left the message report note
note string The note being left on the message report
created_at timestamp Timestamp of when the message report note was created
updated_at timestamp Timestamp of when the message report note was last updated
Error 500
Field Description
InternalServerError There was an error creating the message report note


Reports - Create Post Report
POST
Back to Top

Used to report a post for moderators/administrators to review.

Permissions: User

/api/reports/users
Payload
Field Type Description
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending post
offender_post_id string The unique id of the post being reported
Success 200
Field Type Description
id string The unique id of the post report which was created
status string The status of the report
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending post
reviewer_user_id string The unique id of the user reviewing the report
offender_post_id string The unique id of the post being reported
created_at timestamp Timestamp of when the post report was created
updated_at timestamp Timestamp of when the post report was updated
Error 500
Field Description
InternalServerError There was an issue reporting the post


Reports - (Admin) Create Post Report Note
POST
Back to Top

Used to leave a note on post moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/postnotes
Payload
Field Type Description
report_id string The id of the post report to leave the note on
user_id string The id of the post leaving the post report note
note string The note being left on the post report
Success 200
Field Type Description
id string The unique id for the post report note
report_id string The id of the post report to leave the note on
user_id string The id of the user leaving the post report note
username string The username of the user who left the post report note
avatar string The url to the avatar of the user who left the post report note
note string The note being left on the post report
created_at timestamp Timestamp of when the post report note was created
updated_at timestamp Timestamp of when the post report note was last updated
Error 500
Field Description
InternalServerError There was an error creating the post report note


Reports - Create User Report
POST
Back to Top

Used to report a user for moderators/administrators to review.

Permissions: User

/api/reports/users
Payload
Field Type Description
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending user
offender_user_id string The unique id of the user being reported
Success 200
Field Type Description
id string The unique id of the user report which was created
status string The status of the report
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending user
reviewer_user_id string The unique id of the user reviewing the report
offender_user_id string The unique id of the user being reported
created_at timestamp Timestamp of when the user report was created
updated_at timestamp Timestamp of when the user report was updated
Error 500
Field Description
InternalServerError There was an issue reporting the user


Reports - (Admin) Create User Report Note
POST
Back to Top

Used to leave a note on user moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/usernotes
Payload
Field Type Description
report_id string The id of the user report to leave the note on
user_id string The id of the user leaving the user report note
note string The note being left on the user report
Success 200
Field Type Description
id string The unique id for the user report note
report_id string The id of the user report to leave the note on
user_id string The id of the user leaving the user report note
username string The username of the user who left the user report note
avatar string The url to the avatar of the user who left the user report note
note string The note being left on the user report
created_at timestamp Timestamp of when the user report note was created
updated_at timestamp Timestamp of when the user report note was last updated
Error 500
Field Description
InternalServerError There was an error creating the user report note


Reports - (Admin) Page Message Report
GET
Back to Top

Used to page through message moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/messages
Query
Field Type Description
page
optional
number The page of message reports to retrieve
limit
optional
number The number of message reports to retrieve per page
filter
optional
string Used to filter reports by their status
field
optional
string Indicates which column to sort by, used for table sorting
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
search
optional
string String used to search for a report by username
Success 200
Field Type Description
count number The total number of reports
limit number The number of reports to bring back per page
page number The current page of reports brought back
page_count number The total number of pages
filter string Indicates the status type of the report being brought back
field string Indicates the field the reports are sorted by
search string Indicates the search string
desc boolean Boolean indicating if the results are in descending order
data object[] An array of message reports. Sort order varies depending on the query parameters passed in.
data.id string The unique id of the message report
data.status string The status of the message report
data.reviewer_user_id string The unique id of the user who reviewed the message report
data.offender_ban_expiration timestamp If the user is banned, the expiration of their ban
data.offender_board_banned boolean Boolean indicating if user is board banned
data.offender_message_id string The unique id of the offending message
data.offender_message string The body of the offending message
data.offender_created_at timestamp Timestamp of the offending message was created
data.offender_author_created_at timestamp Timestamp of the offending message's author created date
data.offender_author_username string The username of the offending message's author
data.offender_author_email string The email of the user who created the offending message
data.offender_author_id string The unique id of the offending message's author
data.reporter_reason string The reason for the report
data.reporter_user_id string The unique id of the reporting user
data.reporter_username string The username of the reporting user
data.created_at timestamp Timestamp of when the message report was created
data.updated_at timestamp Timestamp of when the message report was last updated
Error 500
Field Description
InternalServerError There was an error retrieving the message reports


Reports - (Admin) Page Message Report Notes
GET
Back to Top

Used to page through message moderation report notes.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/messagenotes/:messageReportId
Parameter
Field Type Description
messageReportId string The unique id of the message report to retrieve notes for
Query
Field Type Description
page
optional
number The page of message report notes to retrieve
limit
optional
number The number of message report notes to retrieve per page
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
Success 200
Field Type Description
count number The total number of report notes
limit number The number of report notes to bring back per page
page number The current page of report notes brought back
page_count number The total number of pages
desc boolean Boolean indicating if the results are in descending order
data object[] An array of message report note objects.
data.id string The unique id of the message report note
data.report_id string The unique id of the message report this note is for
data.user_id string The unique id of the user who left the note
data.username string The username of the user who left the note
data.avatar string The URL to the avatar of the user who left the note
data.note string The note message that was left on the report
data.created_at timestamp Timestamp of when the report note was created
data.updated_at timestamp Timestamp of when the report note was last updated
Error 500
Field Description
InternalServerError There was an error retrieving the message report notes


Reports - (Admin) Page Post Report
GET
Back to Top

Used to page through post moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/posts
Query
Field Type Description
page
optional
number The page of post reports to retrieve
limit
optional
number The number of post reports to retrieve per page
filter
optional
string Used to filter reports by their status
field
optional
string Indicates which column to sort by, used for table sorting
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
search
optional
string String used to search for a report by username
mod_id
optional
string If moderators user id is passed in, only returns reports made in boards this user moderates
Success 200
Field Type Description
count number The total number of reports
limit number The number of reports to bring back per page
page number The current page of reports brought back
page_count number The total number of pages
filter string Indicates the status type of the report being brought back
field string Indicates the field the reports are sorted by
search string Indicates the search string
desc boolean Boolean indicating if the results are in descending order
data object[] An array of post reports. Sort order varies depending on the query parameters passed in.
data.id string The unique id of the post report
data.status string The status of the post report
data.reviewer_user_id string The unique id of the user who reviewed the post report
data.offender_ban_expiration timestamp If the user is banned, the expiration of their ban
data.offender_board_banned boolean Boolean indicating if user is board banned
data.offender_post_id string The unique id of the offending post
data.offender_thread_id string The unique id of the offending post's thread
data.offender_title string The title of the offending post
data.offender_created_at timestamp Timestamp of the offending post was created
data.offender_author_created_at timestamp Timestamp of the offending post's author created date
data.offender_author_username string The username of the offending post's author
data.offender_author_email string The email of the user who created the offending post
data.offender_author_id string The unique id of the offending post's author
data.reporter_reason string The reason for the report
data.reporter_user_id string The unique id of the reporting user
data.reporter_username string The username of the reporting user
data.created_at timestamp Timestamp of when the post report was created
data.updated_at timestamp Timestamp of when the post report was last updated
Error 500
Field Description
InternalServerError There was an error retrieving the post reports


Reports - (Admin) Page Post Report Notes
GET
Back to Top

Used to page through post moderation report notes.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/postnotes/:postReportId
Parameter
Field Type Description
postReportId string The unique id of the post report to retrieve notes for
Query
Field Type Description
page
optional
number The page of post report notes to retrieve
limit
optional
number The number of post report notes to retrieve per page
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
Success 200
Field Type Description
count number The total number of report notes
limit number The number of report notes to bring back per page
page number The current page of report notes brought back
page_count number The total number of pages
desc boolean Boolean indicating if the results are in descending order
data object[] An array of post report note objects
data.id string The unique id of the post report note
data.report_id string The unique id of the post report this note is for
data.user_id string The unique id of the user who left the note
data.username string The username of the user who left the note
data.avatar string The URL to the avatar of the user who left the note
data.note string The note message that was left on the report
data.created_at timestamp Timestamp of when the report note was created
data.updated_at timestamp Timestamp of when the report note was last updated
Error 500
Field Description
InternalServerError There was an error retrieving the post report notes


Reports - (Admin) Page User Report
GET
Back to Top

Used to page through user moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/users
Query
Field Type Description
page
optional
number The page of user reports to retrieve
limit
optional
number The number of user reports to retrieve per page
filter
optional
string Used to filter reports by their status
field
optional
string Indicates which column to sort by, used for table sorting
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
search
optional
string String used to search for a report by username
Success 200
Field Type Description
count number The total number of reports
limit number The number of reports to bring back per page
page number The current page of reports brought back
page_count number The total number of pages
filter string Indicates the status type of the report being brought back
field string Indicates the field the reports are sorted by
search string Indicates the search string
desc boolean Boolean indicating if the results are in descending order
data object[] An array of user reports. Sort order varies depending on the query parameters passed in.
data.id string The unique id of the user report
data.status string The status of the user report
data.reviewer_user_id string The unique id of the user who reviewed the user report
data.offender_ban_expiration timestamp If the user is banned, the expiration of their ban
data.offender_board_banned boolean Boolean indicating if user is board banned
data.offender_created_at timestamp When the offending user created their account
data.offender_email string The email of the offending user
data.offender_user_id string The unique id of the offending user
data.offender_username string The username of the offending user
data.reporter_reason string The reason for the report
data.reporter_user_id string The unique id of the reporting user
data.reporter_username string The username of the reporting user
data.created_at timestamp Timestamp of when the user report was created
data.updated_at timestamp Timestamp of when the user report was last updated
Error 500
Field Description
InternalServerError There was an error retrieving the user reports


Reports - (Admin) Page User Report Notes
GET
Back to Top

Used to page through user moderation report notes.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/usernotes/:userReportId
Parameter
Field Type Description
userReportId string The unique id of the user report to retrieve notes for
Query
Field Type Description
page
optional
number The page of user report notes to retrieve
limit
optional
number The number of user report notes to retrieve per page
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
Success 200
Field Type Description
count number The total number of report notes
limit number The number of report notes to bring back per page
page number The current page of report notes brought back
page_count number The total number of pages
desc boolean Boolean indicating if the results are in descending order
data object[] An array of user report note objects.
data.id string The unique id of the user report note
data.report_id string The unique id of the user report this note is for
data.user_id string The unique id of the user who left the note
data.username string The username of the user who left the note
data.avatar string The URL to the avatar of the user who left the note
data.note string The note message that was left on the report
data.created_at timestamp Timestamp of when the report note was created
data.updated_at timestamp Timestamp of when the report note was last updated
Error 500
Field Description
InternalServerError There was an error retrieving the user report notes


Reports - (Admin) Update Message Report
PUT
Back to Top

Used to update the status of a message moderation report.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/messages
Payload
Field Type Description
id string The id of the message report
status string The updated note status
reviewer_user_id string The id of the user updating the message report
Success 200
Field Type Description
id string The unique id of the message report which was created
status string The status of the report
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending message
reviewer_user_id string The unique id of the user reviewing the report
offender_message_id string The unique id of the message being reported
created_at timestamp Timestamp of when the message report was created
updated_at timestamp Timestamp of when the message report was updated
Error 500
Field Description
InternalServerError There was an error updating the message report


Reports - (Admin) Update Message Report Note
PUT
Back to Top

Used to update an existing note on message moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/messagenotes
Payload
Field Type Description
id string The id of the message report note
note string The updated note
Success 200
Field Type Description
id string The unique id for the message report note
report_id string The id of the message report to leave the note on
user_id string The id of the user leaving the message report note
username string The username of the user who left the message report note
avatar string The url to the avatar of the user who left the message report note
note string The note being left on the message report
created_at timestamp Timestamp of when the message report note was created
updated_at timestamp Timestamp of when the message report note was last updated
Error 400
Field Description
BadRequest Note must not be empty
Error 500
Field Description
InternalServerError There was an error updating the message report note


Reports - (Admin) Update Post Report
PUT
Back to Top

Used to update the status of a post moderation report.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/posts
Payload
Field Type Description
id string The id of the post report note
status string The updated note status
reviewer_user_id string The id of the user updating the post report
Success 200
Field Type Description
id string The unique id of the post report which was updated
status string The status of the report
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending post
reviewer_user_id string The unique id of the user reviewing the report
offender_post_id string The unique id of the post being reported
created_at timestamp Timestamp of when the post report was created
updated_at timestamp Timestamp of when the post report was updated
Error 500
Field Description
InternalServerError There was an error updating the post report


Reports - (Admin) Update Post Report Note
PUT
Back to Top

Used to update an existing note on post moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/usernotes
Payload
Field Type Description
id string The id of the post report note
note string The updated note
Success 200
Field Type Description
id string The unique id for the post report note
report_id string The id of the post report to leave the note on
user_id string The id of the user leaving the post report note
username string The username of the user who left the post report note
avatar string The url to the avatar of the user who left the post report note
note string The note being left on the post report
created_at timestamp Timestamp of when the post report note was created
updated_at timestamp Timestamp of when the post report note was last updated
Error 400
Field Description
BadRequest Note must not be empty
Error 500
Field Description
InternalServerError There was an error updating the post report note


Reports - (Admin) Update User Report
PUT
Back to Top

Used to update the status of a user moderation report.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/users
Payload
Field Type Description
id string The id of the user report
status string The updated note status
reviewer_user_id string The id of the user updating the user report
Success 200
Field Type Description
id string The unique id of the user report which was created
status string The status of the report
reporter_user_id string The unique id of the user initiating the report
reporter_reason string The reporter's reason for reporting the offending user
reviewer_user_id string The unique id of the user reviewing the report
offender_user_id string The unique id of the user being reported
created_at timestamp Timestamp of when the user report was created
updated_at timestamp Timestamp of when the user report was updated
Error 500
Field Description
InternalServerError There was an error updating the user report


Reports - (Admin) Update User Report Note
PUT
Back to Top

Used to update an existing note on user moderation reports.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/reports/usernotes
Payload
Field Type Description
id string The id of the user report note
note string The updated note
Success 200
Field Type Description
id string The unique id for the user report note
report_id string The id of the user report to leave the note on
user_id string The id of the user leaving the user report note
username string The username of the user who left the user report note
avatar string The url to the avatar of the user who left the user report note
note string The note being left on the user report
created_at timestamp Timestamp of when the user report note was created
updated_at timestamp Timestamp of when the user report note was last updated
Error 400
Field Description
BadRequest Note must not be empty
Error 500
Field Description
InternalServerError There was an error updating the user report note


Roles
Roles - Add Roles
POST
Back to Top

Add a new role.

Permissions: Super Administrator, Administrator

/api/admin/roles/add
Payload
Field Type Description
id
optional
string The id of the role to add, for hardcoded ids.
name string The name of the role to add.
description string The description of the role to add.
priority string The priorty of the role to add.
highlight_color
optional
string The highlight color of the role to add.
permissions Object The permission set for this role.
Success 200
Field Type Description
id string The unique id of the added role.
Error 400
Field Description
BadRequest There name of the role must be unique.
Error 500
Field Description
InternalServerError There was an issue adding the role.


Roles - All Roles
GET
Back to Top

Retrieve all role.

Permissions: Super Administrator, Administrator

/api/admin/roles/all
Success 200
Field Type Description
roles object[] An array of all the roles.
roles.id string The unique id of the role
roles.name string The name of the role
roles.description string The description of the role
roles.lookup string A unique identifier for the role
roles.priority number The priority of the role, with 0 being the highest priority
roles.highlight_color string An html hex value color used to highlight users based on their role
permissions object An object containing all this roles permissions
Error 500
Field Description
InternalServerError There was an issue retrieving the roles.


Roles - Page Users with Role
GET
Back to Top

Page all users with a particular role.

Permissions: Super Administrator, Administrator

/api/admin/roles/:id/users
Payload
Field Type Description
id string The id of the role to find users for
Query
Field Type Description
page
optional
number The page of users to retrieve
limit
optional
number The number of users to retrieve per page
search
optional
string Allows user to filter the search results
Success 200
Field Type Description
users object[] An array holding users with this role
users.id string The id of the user
users.username string The The username of the user
users.email string The email of the user
users.roles string[] An array containing the lookups values of all the roles this user has
users.priority number The user's highest role priority
Error 500
Field Description
InternalServerError There was an issue retrieving the user data.


Roles - Remove Roles
DELETE
Back to Top

Remove a role.

Permissions: Super Administrator, Administrator

/api/admin/roles/remove/:id
Parameter
Field Type Description
id string The id of the role to remove.
Success 200
Field Type Description
id string The unique id of the removed role.
name string The name of the removed role.
Error 500
Field Description
InternalServerError There was an issue removing the role.


Roles - Reprioritize Roles
UPDATE
Back to Top

Reprioritizes all roles.

Permissions: Super Administrator, Administrator

/api/admin/roles/reprioritize
Payload
Field Type Description
roles object[] Array containing role objects
roles.id string The id of the role
roles.priority string The updated priorty of the role
Success 200
Field Type Description
STATUS object 200 OK
Error 500
Field Description
InternalServerError There was an issue reprioritizing the roles.


Roles - Add Roles
PUT
Back to Top

Add a new role.

Permissions: Super Administrator, Administrator

/api/admin/roles/update
Payload
Field Type Description
id string The id of the role to update.
name string The updated name of the role.
description string The updated description of the role.
priority string The updated priorty of the role.
highlight_color
optional
string The updated highlight color.
lookup string The lookup string of the role.
permissions Object The updated permission set.
Success 200
Field Type Description
id string The unique id of the updated role.
Error 400
Field Description
BadRequest There name of the role must be unique.
Error 500
Field Description
InternalServerError There was an issue adding the role.


Settings
Settings - (Admin) Add IP Rule to Blacklist
POST
Back to Top

Used to add an IP Rule to the blacklist

/api/admin/settings/blacklist
Success 200
Field Type Description
blacklist object[] Array containing blacklisted IPs and info
blacklist.id string Unique id for the Blacklisted IP rule.
blacklist.ip_data string A single ip, ip range or wildcard ip.
blacklist.note string A note/name for the Blacklisted IP rule.
Error 500
Field Description
InternalServerError There was an issue adding to the blacklist.


Settings - (Admin) Delete existing IP Rule from Blacklist
DELETE
Back to Top

Used to update an existing IP Rule in the blacklist

/api/admin/settings/blacklist/:id
Parameter
Field Type Description
id string The id of the blacklist rule to delete
Success 200
Field Type Description
blacklist object[] Array containing blacklisted IPs and info
blacklist.id string Unique id for the Blacklisted IP rule.
blacklist.ip_data string A single ip, ip range or wildcard ip.
blacklist.note string A note/name for the Blacklisted IP rule.
Error 500
Field Description
InternalServerError There was an issue deleting from the blacklist.


Settings - (Admin) Find
GET
Back to Top

Used to fetch all web app settings. Allows admins to grab settings defined in config.js

/api/admin/settings
Success 200
Field Type Description
log_enabled boolean Boolean indicating if the server should log to /logs
verify_registration boolean Boolean indicating if users need verify their accounts via email
login_required boolean Boolean indicating if users need to login to view posts
invite_only boolean Boolean indicating if forum is invite only
saas_mode boolean Boolean indicating if forum is in saas mode
ga_key string Google analytics key for reCaptcha
website object Object containing website configs
website.title string The title of the website
website.description string Website description text
website.keywords string Website keywords
website.logo string The logo for the website
website.favicon string The favicon for the website
emailer object Object containing configurations for the email server
emailer.sender string Email address that emails will be sent from
emailer.host string The SMTP host
emailer.port number The SMTP port
emailer.user string The SMTP username
emailer.pass string The SMTP password
emailer.secure boolean Boolean indicating whether or not to use SSL
images object Object containing image server configurations
images.storage string Where to store images
images.max_size number Max image file size
images.expiration number Expiration time for unused images
images.interval number Interval for checking for unused images
images.local object Object containing local image server configurations
images.local.dir string Path to directory to store uploaded images
images.local.path string Path to relative to host of where to serve images
images.s3 object Object containing s3 image server configurations
images.s3.root string The s3 root url
images.s3.dir string The s3 directory
images.s3.bucket string The s3 bucket
images.s3.region string The s3 region
images.s3.access_key string The s3 access key
images.s3.secret_key string The s3 secret key
rate_limiting object Object containing rate limit configurations
rate_limiting.namespace string Redis namespace prefix for rate limit configurations
rate_limiting.get object Object containing GET rate limit configurations
rate_limiting.get.interval number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.get.max_in_interval number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.get.min_difference number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
rate_limiting.post.interval number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.post.max_in_interval number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.post.min_difference number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
rate_limiting.put.interval number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.put.max_in_interval number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.put.min_difference number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
rate_limiting.delete.interval number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.delete.max_in_interval number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.delete.min_difference number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)


Settings - (Admin) Get Blacklist
GET
Back to Top

Used to fetch the IP blacklist

/api/admin/settings/blacklist
Success 200
Field Type Description
blacklist object[] Array containing blacklisted IPs and info
blacklist.id string Unique id for the Blacklisted IP rule.
blacklist.ip_data string A single ip, ip range or wildcard ip.
blacklist.note string A note/name for the Blacklisted IP rule.
Error 500
Field Description
InternalServerError There was an issue retrieving the blacklist.


Settings - (Admin) Get Theme
GET
Back to Top

Used to fetch theme vars in _custom-variables.scss

/api/admin/settings/theme
Success 200
Field Type Description
base-line-height string Base line height for entire forum
base-background-color string The background color for the entire forum
color-primary string The primary color for the forum, used for buttons, etc...
base-font-sans string Font family for the entire forum
base-font-color string Base font color for entire forum
base-font-size string Base font size for entire forum
secondary-font-color string Secondary font color, used for description text
input-font-color string Font color for input fields
input-background-color string Background color for all input fields
border-color string Color for all borders used in the forum
header-bg-color string Color for the forum header background
header-font-color string Font color for the forum header
sub-header-color string Color for sub headers and footers
Error 500
Field Description
InternalServerError There was an issue retrieving the theme.


Settings - (Admin) Preview Theme
PUT
Back to Top

Used preview theme vars are compiled from _preview-variables.scss

/api/admin/settings/theme/preview
Payload
Field Type Description
base-line-height string Base line height for entire forum
base-background-color string The background color for the entire forum
color-primary string The primary color for the forum, used for buttons, etc...
base-font-sans string Font family for the entire forum
base-font-color string Base font color for entire forum
base-font-size string Base font size for entire forum
secondary-font-color string Secondary font color, used for description text
input-font-color string Font color for input fields
input-background-color string Background color for all input fields
border-color string Color for all borders used in the forum
header-bg-color string Color for the forum header background
header-font-color string Font color for the forum header
sub-header-color string Color for sub headers and footers
Success 200
Field Type Description
base-line-height string Base line height for entire forum
base-background-color string The background color for the entire forum
color-primary string The primary color for the forum, used for buttons, etc...
base-font-sans string Font family for the entire forum
base-font-color string Base font color for entire forum
base-font-size string Base font size for entire forum
secondary-font-color string Secondary font color, used for description text
input-font-color string Font color for input fields
input-background-color string Background color for all input fields
border-color string Color for all borders used in the forum
header-bg-color string Color for the forum header background
header-font-color string Font color for the forum header
sub-header-color string Color for sub headers and footers
Error 500
Field Description
InternalServerError There was an issue previewing the theme.


Settings - (Admin) Reset Theme
POST
Back to Top

Used reset custom variables to fall back to _default-variables.scss

/api/admin/settings/theme
Success 200
Field Type Description
base-line-height string Base line height for entire forum
base-background-color string The background color for the entire forum
color-primary string The primary color for the forum, used for buttons, etc...
base-font-sans string Font family for the entire forum
base-font-color string Base font color for entire forum
base-font-size string Base font size for entire forum
secondary-font-color string Secondary font color, used for description text
input-font-color string Font color for input fields
input-background-color string Background color for all input fields
border-color string Color for all borders used in the forum
header-bg-color string Color for the forum header background
header-font-color string Font color for the forum header
sub-header-color string Color for sub headers and footers
Error 500
Field Description
InternalServerError There was an issue resetting the theme.


Settings - (Admin) Set Theme
PUT
Back to Top

Used to set theme vars in _custom-variables.scss

/api/admin/settings/theme
Payload
Field Type Description
base-line-height string Base line height for entire forum
base-background-color string The background color for the entire forum
color-primary string The primary color for the forum, used for buttons, etc...
base-font-sans string Font family for the entire forum
base-font-color string Base font color for entire forum
base-font-size string Base font size for entire forum
secondary-font-color string Secondary font color, used for description text
input-font-color string Font color for input fields
input-background-color string Background color for all input fields
border-color string Color for all borders used in the forum
header-bg-color string Color for the forum header background
header-font-color string Font color for the forum header
sub-header-color string Color for sub headers and footers
Success 200
Field Type Description
base-line-height string Base line height for entire forum
base-background-color string The background color for the entire forum
color-primary string The primary color for the forum, used for buttons, etc...
base-font-sans string Font family for the entire forum
base-font-color string Base font color for entire forum
base-font-size string Base font size for entire forum
secondary-font-color string Secondary font color, used for description text
input-font-color string Font color for input fields
input-background-color string Background color for all input fields
border-color string Color for all borders used in the forum
header-bg-color string Color for the forum header background
header-font-color string Font color for the forum header
sub-header-color string Color for sub headers and footers
Error 500
Field Description
InternalServerError There was an issue setting the theme.


Settings - (Admin) Update existing IP Rule in Blacklist
PUT
Back to Top

Used to update an existing IP Rule in the blacklist

/api/admin/settings/blacklist
Success 200
Field Type Description
blacklist object[] Array containing blacklisted IPs and info
blacklist.id string Unique id for the Blacklisted IP rule.
blacklist.ip_data string A single ip, ip range or wildcard ip.
blacklist.note string A note/name for the Blacklisted IP rule.
Error 500
Field Description
InternalServerError There was an issue updating the blacklist.


Settings - (Admin) Update
POST
Back to Top

Used to update web app settings. Used in the admin panel.

/api/admin/settings
Payload
Field Type Description
log_enabled
optional
boolean Boolean indicating if the server should log to /logs
verify_registration
optional
boolean Boolean indicating if users need verify their accounts via email
login_required
optional
boolean Boolean indicating if users need to login to view posts
invite_only
optional
boolean Boolean indicating if forum is invite only
ga_key
optional
string Google analytics key for reCaptcha
website
optional
object Object containing website configs
website.title
optional
string The title of the website
website.description
optional
string Website description text
website.keywords
optional
string Website keywords
website.logo
optional
string The logo for the website
website.favicon
optional
string The favicon for the website
emailer
optional
object Object containing configurations for the email server
emailer.sender
optional
string Email address that emails will be sent from
emailer.host
optional
string The SMTP host
emailer.port
optional
number The SMTP port
emailer.user
optional
string The SMTP username
emailer.pass
optional
string The SMTP password
emailer.secure
optional
boolean Boolean indicating whether or not to use SSL
images
optional
object Object containing image server configurations
images.storage
optional
string Where to store images
images.max_size
optional
number Max image file size
images.expiration
optional
number Expiration time for unused images
images.interval
optional
number Interval for checking for unused images
images.local
optional
object Object containing local image server configurations
images.local.dir
optional
string Path to directory to store uploaded images
images.local.path
optional
string Path to relative to host of where to serve images
images.s3
optional
object Object containing s3 image server configurations
images.s3.root
optional
string The s3 root url
images.s3.dir
optional
string The s3 directory
images.s3.bucket
optional
string The s3 bucket
images.s3.region
optional
string The s3 region
images.s3.access_key
optional
string The s3 access key
images.s3.secret_key
optional
string The s3 secret key
rate_limiting
optional
object Object containing rate limit configurations
rate_limiting.get
optional
object Object containing GET rate limit configurations
rate_limiting.get.interval
optional
number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.get.max_in_interval
optional
number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.get.min_difference
optional
number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
rate_limiting.post.interval
optional
number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.post.max_in_interval
optional
number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.post.min_difference
optional
number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
rate_limiting.put.interval
optional
number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.put.max_in_interval
optional
number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.put.min_difference
optional
number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
rate_limiting.delete.interval
optional
number The amount of time to which you are limiting the number of request to (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.delete.max_in_interval
optional
number How many requests you can make within the interval (e.g. MAX_IN_INTERVAL requests every INTERVAL)
rate_limiting.delete.min_difference
optional
number How long between each request (e.g. how much time between each MAX_IN_INTERVAL)
Success 200
Field Type Description
config object Same object that was passed in is returned upon success


Threads
Threads - Create Poll
POST
Back to Top

Used to create a poll.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User (that created the thread)

/api/threads/:id/polls
Param
Field Type Description
thread_id string The unique id of the thread the poll is in.
question string The question asked in the poll.
answers string[] The list of the answers to the question of this poll.
Payload
Field Type Description
max_answers
optional
number The max number of answers per vote.
expiration
optional
date The expiration date of the poll.
change_vote
optional
boolean Boolean indicating whether users can change their vote.
display_mode string String indicating how the results are shown to users.
Success 200
Field Type Description
id string The unique id of the poll
question string The question asked in the poll
answers object[] The list of the answers to the question of this poll
answers.answer string The answer to the question of this poll
max_answers number The max number of answer per vote
change_vote boolean Boolean indicating whether users can change their vote
expiration date The expiration date of the poll
display_mode string String indicating how the results are shown to users
Error 401
Field Description
Unauthorized User doesn't have permissions to create the poll
Error 500
Field Description
InternalServerError There was an issue creating the thread


Threads - Create
POST
Back to Top

Used to create a new thread.

Permissions: User

/api/threads
Payload
Field Type Description
title string The title of the thread
raw_body string The thread's body as it was entered in the editor by the user
board_id string The unique id of the board this thread is being created within
locked
optional
boolean Boolean indicating whether the thread is locked or unlocked
sticky
optional
boolean Boolean indicating whether the thread is stickied or not
moderated
optional
boolean Boolean indicating whether the thread is self-moderated or not
poll object Object containing poll data
poll.max_answers
optional
number The max answers allowed for poll
poll.expiration
optional
timestamp Timestamp of when the poll expires
poll.change_vote
optional
boolean Boolean indicating if you can change your vote
poll.display_mode string Used for the UI display mode of the poll
questions string[] An array of poll questions
answers string[] An array of poll answers
Success 200
Field Type Description
id string The unqiue id of the post the thread is wrapping
thread_id string The unqiue id of the thread
user_id string The unique id of the user who created the thread
title string The title of the thread
deleted boolean Boolean indicating if the thread has been deleted
locked boolean Boolean indicating if the thread has been locked
body string The thread's body with any markup tags converted and parsed into html elements
raw_body string The thread's body as it was entered in the editor by the user
created_at timestamp Timestamp of when the thread was created
Error 500
Field Description
InternalServerError There was an issue creating the thread


Threads - Edit Poll
PUT
Back to Top

Used to edit a poll.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User (that created the poll)

/api/threads/:thread_id/polls/:poll_id
Param
Field Type Description
thread_id string The unique id of the thread the poll is in.
poll_id string The unique id of the poll to vote in.
Payload
Field Type Description
max_answers number The max number of answers per vote.
expiration date The expiration date of the poll.
change_vote boolean Boolean indicating whether users can change their vote.
display_mode string String indicating how the results are shown to users.
Success 200
Field Type Description
id string The unique id of the poll
max_answers number The max number of answer per vote
change_vote boolean Boolean indicating whether users can change their vote
expiration date The expiration date of the poll
display_mode string String indicating how the results are shown to users
Error 401
Field Description
Unauthorized User doesn't have permissions to edit the poll
Error 500
Field Description
InternalServerError There was an issue editing the thread


Threads - Lock/Unlock Poll
POST
Back to Top

Used to lock or unlock a poll.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User (Poll creator only)

/api/threads/:thread_id/polls/:poll_id/lock
Parameter
Field Type Description
thread_id string The unique id of the thread the poll is in.
poll_id string The unique id of the poll to lock.
Payload
Field Type Description
locked boolean Boolean indicating to lock or unlock the poll
Success 200
Field Type Description
id string The id of the poll
locked boolean The value the poll's lock
Error 401
Field Description
Unauthorized User doesn't have permissions to lock the poll
Error 500
Field Description
InternalServerError There was an issue locking/unlocking the poll


Threads - Lock
POST
Back to Top

Used to lock a thread and prevent any additional posts.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User (Thread Author Only)

/api/threads/:id/lock
Parameter
Field Type Description
id string The unique id of the thread to lock
Payload
Field Type Description
status
optional
boolean Boolean indicating lock status, true if locked false if unlocked.
Success 200
Field Type Description
id string The unique id of the poll
locked boolean Boolean indicating if the poll is locked
Error 401
Field Description
Unauthorized User doesn't have permissions to lock the thread
Error 500
Field Description
InternalServerError There was an issue locking the thread


Threads - Move
POST
Back to Top

Used to move a thread to a different board.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/threads/:id/move
Parameter
Field Type Description
id string The unique id of the thread to move
Payload
Field Type Description
new_board_id string The unique id of the board to move this thread into.
Success 200
Field Type Description
id string The id of the thread which was moved
board_id string The id of the board which the thread was moved to
Error 401
Field Description
Unauthorized User doesn't have permissions to move the thread
Error 500
Field Description
InternalServerError There was an issue moving the thread


Threads - Page By Board
GET
Back to Top

Used to page through a board's threads.

/api/threads
Query
Field Type Description
board_id string The board whose threads to page through
page
optional
number The page of threads to bring back
limit
optional
number The number of threads to bring back per page
Success 200
Field Type Description
page number The page of threads to bring back
limit number The number or threads per page to bring back
banned_from_board boolean Boolean indicating if the authed user has been banned from the current thread's board
write_access boolean Boolean indicating if the authed user has write access to this thread
board object Object containing information about the board the thread is in
board.id string The id of the board
board.name string The name of the board
board.parent_id string The id of the parent board if applicable
board.watched boolean Boolean indicating if the authed user is watching this board
board.viewable_by number The minimum priority to be able to view the board, null for no restriction
board.postable_by number The minimum priority to be able to post to the board, null for no restriction
board.description string The board description text
board.thread_count number The number of threads within the board
board.post_count number The number of posts within the board
board.children object[] An array containing child boards if applicable
board.moderators object[] Array containing data about the moderators of the board
board.moderators.id string The id of the moderator
board.moderators.username string The username of the moderator
board.created_at timestamp The created at timestamp of the board
board.updated_at timestamp The updated at timestamp of the board
board.imported_at timestamp The imported at timestamp of the board
sticky object[] An array of sticky threads within the board
sticky.id string The id of the stickied thread
sticky.locked boolean Boolean indicating if the thread is locked
sticky.sticky boolean Boolean indicating if the thread is stickied
sticky.moderated boolean Boolean indicating if the thread is self-moderated
sticky.poll boolean Boolean indicating if there is a poll in this thread
sticky.created_at timestamp Timestamp indicating when the thread was created
sticky.updated_at timestamp Timestamp indicating when the thread was last updated
sticky.view_count number The number of views this thread has received
sticky.post_count number The number of posts in this thread
sticky.title string The title of the thread
sticky.last_post_id string The id of the last post in the thread
sticky.last_post_position number The position of the last post in the thread
sticky.last_post_created_at timestamp Timestamp of when the last post was created
sticky.last_post_username string The username of the author of the last post
sticky.last_post_avatar string The avatar of the author of the last post
sticky.user object Object containg user data about the last post author
sticky.user.id string The id of the last post's author
sticky.user.username string The username of the last post's author
sticky.user.deleted boolean Boolean indicating if the last post's author has had their account deleted
sticky.has_new_posts boolean Boolean indicating if the thread has new posts since it was last viewed
sticky.lastest_unread_position number The position of the last unread post
sticky.lastest_unread_post_id number The id of the last unread post
normal object[] An array of threads within the board
normal.id string The id of the thread
normal.locked boolean Boolean indicating if the thread is locked
normal.normal boolean Boolean indicating if the thread is stickied
normal.moderated boolean Boolean indicating if the thread is self-moderated
normal.poll boolean Boolean indicating if there is a poll in this thread
normal.created_at timestamp Timestamp indicating when the thread was created
normal.updated_at timestamp Timestamp indicating when the thread was last updated
normal.view_count number The number of views this thread has received
normal.post_count number The number of posts in this thread
normal.title string The title of the thread
normal.last_post_id string The id of the last post in the thread
normal.last_post_position number The position of the last post in the thread
normal.last_post_created_at timestamp Timestamp of when the last post was created
normal.last_post_username string The username of the author of the last post
normal.last_post_avatar string The avatar of the author of the last post
normal.user object Object containg user data about the last post author
normal.user.id string The id of the thread's author
normal.user.username string The username of the thread's author
normal.user.deleted boolean Boolean indicating if the thread's author has had their account deleted
Error 500
Field Description
InternalServerError There was an issue retrieving the threads


Threads - Purge
DELETE
Back to Top

Used to purge a thread.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/threads/:id/purge
Parameter
Field Type Description
id string The unique id of the thread to purge
Success 200
Field Type Description
success object 200 OK
Error 401
Field Description
Unauthorized User doesn't have permissions to purge the thread
Error 500
Field Description
InternalServerError There was an issue purging the thread


Threads - Page Recently Posted In Threads
GET
Back to Top

Used to page through recent threads posted in by the user.

/api/threads/posted
Query
Field Type Description
page
optional
number The page of threads to bring back
limit
optional
number The number of threads to bring back per page
Success 200
Field Type Description
page number The current page of threads.
limit number The number of threads returned per page.
count number The total number of threads for this user.
threads object[] An array containing recently posted in threads.
threads.id string The id of the thread
threads.board_id string The id of the board the thread is in
threads.board_name string The name of the board the thread is in
threads.locked boolean Boolean indicating if the thread is locked
threads.threads boolean Boolean indicating if the thread is stickied
threads.moderated boolean Boolean indicating if the thread is self-moderated
threads.poll boolean Boolean indicating if there is a poll in this thread
threads.created_at timestamp Timestamp indicating when the thread was created
threads.updated_at timestamp Timestamp indicating when the thread was last updated
threads.view_count number The number of views this thread has received
threads.post_count number The number of posts in this thread
threads.title string The title of the thread
threads.last_post_id string The id of the last post in the thread
threads.last_post_position number The position of the last post in the thread
threads.last_post_created_at timestamp Timestamp of when the last post was created
threads.last_post_username string The username of the author of the last post
threads.last_post_avatar string The avatar of the author of the last post
threads.user object Object containg user data about the thread author
threads.user.id string The id of the thread's author
threads.user.username string The username of the thread's author
Error 500
Field Description
InternalServerError There was an issue retrieving the threads


Threads - Remove Vote
DELETE
Back to Top

Used to remove a vote in a poll.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User

/api/threads/:thread_id/polls/:poll_id/vote
Parameter
Field Type Description
id string The unique id of the thread the poll is in.
Success 200
Field Type Description
id string The unique id of the poll
question string The question asked in the poll
answers object[] The list of the answers to the question of this poll
answers.answer string The answer to the question of this poll
answers.id string The id of the answer
answers.votes number The number of votes for this answer
max_answers number The max number of answer per vote
has_voted boolean Boolean indicating whether the user has voted
change_vote boolean Boolean indicating whether users can change their vote
expiration date The expiration date of the poll
display_mode string String indicating how the results are shown to users
Error 401
Field Description
Unauthorized User doesn't have permissions to vote in the poll
Error 500
Field Description
InternalServerError There was an issue removing a vote in the poll


Threads - Sticky
POST
Back to Top

Used to sticky a thread. This will cause the thread to show up at the top of the board it's posted within.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/threads/:id/sticky
Parameter
Field Type Description
id string The unique id of the thread to sticky
Payload
Field Type Description
status
optional
boolean Boolean indicating sticky status, true if stickied false if not.
Success 200
Field Type Description
id string The id of the thread which was stickied
sticky boolean Boolean indicating if the thread is stickied
Error 401
Field Description
Unauthorized User doesn't have permissions to sticky the thread
Error 500
Field Description
InternalServerError There was an issue stickying the thread


Threads - Title
POST
Back to Top

Used to update the title of a thread.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User (Thread Author Only)

/api/threads/:id
Parameter
Field Type Description
id string The unique id of the thread to update
Payload
Field Type Description
title string The new title for this thread.
Success 200
Field Type Description
id string The unique id of the thread
title string The title of the thread
body string The thread's body with any markup tags converted and parsed into html elements
raw_body string The thread's body as it was entered in the editor by the user
thread_id string The unqiue id of the thread
updated_at timestamp Timestamp of when the thread was updated
Error 401
Field Description
Unauthorized User doesn't have permissions to update the thread title.
Error 500
Field Description
InternalServerError There was an issue updating the thread title.


Threads - Mark Thread Viewed
POST
Back to Top

Used to mark a thread as viewed

/api/threads/:id
Parameter
Field Type Description
id string The unique id of the thread to mark as viewed
Success 200
Field Type Description
success object 200 OK
Error 500
Field Description
InternalServerError There was an issue marking the thread viewed


Threads - Vote
POST
Back to Top

Used to vote in a poll.

Permissions: Super Administrator, Administrator, Global Moderator, Moderator, User

/api/threads/:thread_id/polls/:poll_id/vote
Parameter
Field Type Description
thread_id string The unique id of the thread the poll is in.
poll_id string The unique id of the poll to vote in.
Payload
Field Type Description
answer_ids string[] The ids of the answers tied to the vote.
Success 200
Field Type Description
id string The unique id of the poll
question string The question asked in the poll
answers object[] The list of the answers to the question of this poll
answers.answer string The answer to the question of this poll
answers.id string The id of the answer
answers.votes number The number of votes for this answer
max_answers number The max number of answer per vote
has_voted boolean Boolean indicating whether the user has voted
locked boolean Boolean indicating whether the poll is locked
change_vote boolean Boolean indicating whether users can change their vote
expiration date The expiration date of the poll
display_mode string String indicating how the results are shown to users
Error 401
Field Description
Unauthorized User doesn't have permissions to vote in the poll
Error 500
Field Description
InternalServerError There was an issue voting in the poll


Users
Users - (Admin) Add Roles
PUT
Back to Top

Used to add a role or roles to a user. This allows Administrators to add new (Super) Administrators and (Global) Moderators.

Permissions: Super Administrator, Administrator

/api/admin/users/roles/add
Payload
Field Type Description
usernames string[] A unique array of usernames to grant the role to
role_id string The unique id of the role to grant the user
Success 200
Field Type Description
users object[] An array containing the users with added roles
users.id string The user's unique id
users.username string The user's username
users.email string The user's email address
users.created_at timestamp Timestamp of when the user's account was created
users.updated_at timestamp Timestamp of when the user's account was last updated
users.roles object[] An array containing the users role objects
users.roles.id string The unique id of the role
users.roles.name string The name of the role
users.roles.description string The description of the role
users.roles.permissions object The permissions that this role has
users.roles.priority number The priority of this role
users.roles.lookup string The unique lookup string of this role
users.roles.highlight_color string The html highlight color for this role
users.roles.created_at timestamp Timestamp of when the role was created
users.roles.updated_at timestamp Timestamp of when the role was last updated
Error 500
Field Description
InternalServerError There was an error adding roles to the user


Users - (Admin) Count Users
GET
Back to Top

This allows Administrators to get a count of how many users are registered. This is used in the admin panel for paginating through users.

Permissions: Super Administrator, Administrator

/api/admin/users/count
Query
Field Type Description
filter
optional
string If banned is passed in, route will return count of banned users.
search
optional
string Used to filter count by search string
ip
optional
boolean Boolean indicating that search string is an ip address
Success 200
Field Type Description
count number The number of users registered given the passed in parameters
Error 500
Field Description
InternalServerError There was an error calculating the user count


Users - (Admin) Create User Note
POST
Back to Top

This allows Administrators and Moderators to create user notes

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/user/notes
Payload
Field Type Description
user_id string The id of the user who the note is being left on
author_id string The id of the user leaving the note
note string The note being left on the user's account
Success 200
Field Type Description
id string The id of the user note
user_id string The id of the user who the note is being left on
author_id string The id of the user leaving the note
note string The note being left on the user's account
created_at timestamp The created at timestamp of the note
updated_at timestamp The updated at timestamp of the note
Error 500
Field Description
InternalServerError There was an error creating user note
Error 403
Field Description
Forbidden User doesn't have permission to create user note


Users - Deactivate
POST
Back to Top

Deactivate a user by userId

/api/users/:userId/deactivate
Parameter
Field Type Description
id string The id of the user to deactivate
Success 200
Field Type Description
status object 200 OK
Error 500
Field Description
InternalServerError There was an error deactivating the user


Users - Delete
DELETE
Back to Top

Delete a user by userId

/api/users/:id
Parameter
Field Type Description
id string The id of the user to delete
Success 200
Field Type Description
username string The deleted user's username
email string The deleted user's email
Error 500
Field Description
InternalServerError There was an error deleteing the user


Users - (Admin) Delete User Note
DELETE
Back to Top

This allows Administrators and Moderators to delete user notes

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/user/notes
Query
Field Type Description
id string The id of the note to delete
Success 200
Field Type Description
id string The id of the user note being deleted
user_id string The id of the user who the note is being left on
author_id string The id of the user leaving the note
note string The note being left on the user's account
created_at timestamp The created at timestamp of the note
updated_at timestamp The updated at timestamp of the note
Error 500
Field Description
InternalServerError There was an error deleting the user note
Error 403
Field Description
Forbidden User doesn't have permission to delete user note


Users - Find
GET
Back to Top

Find a user by their username.

/api/users/:username
Parameter
Field Type Description
username string The username of the user to find
Success 200
Field Type Description
id string The user's unique id
username string The user's username
avatar string URL to the user's avatar image
ignored boolean Boolean idicating if user is being ignored
activity number The user's activity number
signature string The user's signature with any markup tags converted and parsed into html elements
raw_signature string The user's signature as it was entered in the editor by the user
priority number The user's role priority
post_count number The number of posts made by this user
collapsed_categories string[] Array containing id of categories the user collapsed
posts_per_page number Preference indicating the number of posts the user wants to view per page
threads_per_page number Preference indicating the number of threads the user wants to view per page
name string The user's actual name (e.g. John Doe)
website string URL to the user's website
gender string The user's gender
dob timestamp The user's date of birth
location string The user's location
language string The user's native language (e.g. English)
created_at timestamp Timestamp of when the user's account was created
updated_at timestamp Timestamp of when the user's account was last updated
roles string[] An array containing the users role lookups
Error 404
Field Description
NotFound The user was not found
Error 500
Field Description
InternalServerError There was an error looking up the user


Users - Unignore User Posts
POST
Back to Top

Used to unignore a particular user's posts

Permissions: User

/api/ignoreUsers/unignore/:id
Parameter
Field Type Description
id string The id of the user whose posts to unignore
Success 200
Field Type Description
user_id string The id of the user whose posts are unignore
ignored boolean Boolean indicating if the user's posts are being ignored
Error 500
Field Description
InternalServerError There was an error unignoring the user's posts


Users - Ignore User Posts
POST
Back to Top

Used to ignore a particular user's posts

Permissions: User

/api/ignoreUsers/ignore/:id
Parameter
Field Type Description
id string The id of the user whose posts to ignore
Success 200
Field Type Description
user_id string The id of the user whose posts are ignored
ignored boolean Boolean indicating if the user's posts are being ignored
Error 500
Field Description
InternalServerError There was an error ignoring the user's posts


Users - Invitations
GET
Back to Top

Used to page through current invitations.

/api/invites
Payload
Field Type Description
page
optional
string The page of invitations to bring back.
limit
optional
string The number of invitations to bring back.
Success 200
Field Type Description
page number The page of invitations to return
limit number The number of invitations to return per page
has_more boolean Boolean indicating if there are more results on the next page
invitations object[] An array containing invitations.
invitations.email string The email of the user who was invited
invitations.hash string The user's invite has
invitations.created_at timestamp The invite created at timestamp
Error 4xx
Field Description
BadRequest There was an error paging invitations.


Users - Invite
POST
Back to Top

Used to invite a user to join via email.

/api/invites
Payload
Field Type Description
email string User's email address.
Success 200
Field Type Description
message string Invitation sent success message
confirm_token string Invitation token
Error 4xx
Field Description
BadRequest There was an error creating the invitation


Users - Page Ignored Users
GET
Back to Top

Used to page through ignored users

Permissions: User

/api/ignoreUsers/ignored
Parameter
Field Type Description
page
optional
number The page of ignored users to return
limit
optional
number The number of ignored users to return per page
Success 200
Field Type Description
page number The page of ignored users being returned
limit number The number of ignored users being returned per page
prev boolean Boolean indicating if there is a previous page
next boolean Boolean indicating if there is a next page
data object[] Array of ignored users
data.id string The id of the user being ignored
data.ignored_since timestamp Timestamp of when the user was ignored
data.username string The username of the user being ignored
data.avatar string The avatar of the user being ignored
data.ignored boolean Boolean indicating if the user is ignored
Error 500
Field Description
InternalServerError There was an error ignoring the user's posts


Users - (Admin) Page User Notes
GET
Back to Top

This allows Administrators and Moderators to page through user notes

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/user/notes
Query
Field Type Description
page
optional
number The page of results to return
limit
optional
number The number of results per page to return
user_id string The id of the user whose notes to page through
Success 200
Field Type Description
user_id string The id of the user whose notes are being returned
page number The current page of results that is being returned
limit number The current number of results that is being returned per page
next boolean boolean indicating if there is a next page
prev boolean boolean indicating if there is a previous page
data object[] An array of user notes
data.id string The id of the user note
data.author_id string The id of the admin or mod who left the note
data.author_name string The username of the admin or mod who left the note
data.author_avatar string The avatar of the admin or mod who left the note
data.author_highlight_color string The highlight color of the admin or mod who left the note
data.note string The note left by the admin or mod
data.created_at timestamp The created at timestamp of the note
data.updated_at timestamp The updated at timestamp of the note
Error 500
Field Description
InternalServerError There was an error paging user notes
Error 403
Field Description
Forbidden User doesn't have permission to query user notes


Users - (Admin) Page Users
GET
Back to Top

This allows Administrators to page through all registered users.

Permissions: Super Administrator, Administrator

/api/admin/users
Query
Field Type Description
page
optional
number The page of registered users to retrieve
limit
optional
number The number of users to retrieve per page
field
optional
string The db field to sort the results by
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
filter
optional
string If banned is passed in only banned users are returned
search
optional
string Username to search for
ip
optional
boolean Boolean indicating that search string is an ip address
Success 200
Field Type Description
users object[] An array of user objects
users.id string The unique id of the user
users.username string The username of the user
users.email string The email of the user
users.deleted boolean Boolean indicating if the user's account is deleted
users.user_ips string[] Array of user's known IP addresses
users.last_active timestamp Timestamp of when the user's account was last active
users.ban_expiration timestamp Timestamp of when the user's ban expires
users.created_at timestamp Timestamp of when the user was created
users.updated_at timestamp Timestamp of when the user was last updated
users.imported_at timestamp Timestamp of when the user was imported, null if not imported
Error 500
Field Description
InternalServerError There was an error retrieving the users


Users - Page Users
GET
Back to Top

This allows users to page through all registered users.

Permissions: User

/api/search/users
Query
Field Type Description
page
optional
number The page of registered users to retrieve
limit
optional
number The number of users to retrieve per page
field
optional
string The db field to sort the results by
desc
optional
boolean Boolean indicating whether or not to sort the results in descending order
search
optional
string Username to search for
Success 200
Field Type Description
field string The field the results are sorted by
desc boolean The order the results are sorted in
page number The current page of the results
page_count number Total number of pages in results
search string The search term used in query
limit number The number of results returned per page
count number The total number of results
users object[] An array of user objects
users.id string The unique id of the user
users.username string The username of the user
users.role string The role of the user
users.created_at timestamp Timestamp of when the user was created
users.post_count timestamp The number of posts this user has made
users.avatar timestamp The user's avatar
Error 500
Field Description
InternalServerError There was an error retrieving the users


Users - Reactivate
POST
Back to Top

Reactivate a user by userId

/api/users/:id/reactivate
Parameter
Field Type Description
id string The id of the user to reactivate
Success 200
Field Type Description
status object 200 OK
Error 500
Field Description
InternalServerError There was an error reactivating the user


Users - Remove Invite
POST
Back to Top

Used to remove an invite for a user via email.

/api/invites/remove
Payload
Field Type Description
email string User's email address.
Success 200
Field Type Description
message string Invitation removal success message
Error 500
Field Description
InternalServerError There was an error removing the invite


Users - (Admin) Remove Roles
PUT
Back to Top

Used to remove a role or roles from a user. This allows Administrators to remove roles from an account.

Permissions: Super Administrator, Administrator

/api/admin/users/roles/remove
Payload
Field Type Description
user_id string The unique id of the user to remove the role from
role_id string The unique id of the role to remove from the user
Success 200
Field Type Description
id string The user's unique id
username string The user's username
email string The user's email address
created_at timestamp Timestamp of when the user's account was created
updated_at timestamp Timestamp of when the user's account was last updated
roles object[] An array containing the users role objects
roles.id string The unique id of the role
roles.name string The name of the role
roles.description string The description of the role
roles.permissions object The permissions that this role has
roles.priority number The priority of this role
roles.lookup string The unique lookup string of this role
roles.highlight_color string The html highlight color for this role
roles.created_at timestamp Timestamp of when the role was created
roles.updated_at timestamp Timestamp of when the role was last updated
Error 500
Field Description
InternalServerError There was an error removing roles from the user


Users - Resend
POST
Back to Top

Used to resend an invitation to a user

/api/invites/resend
Payload
Field Type Description
email string User's email address
Success 200
Field Type Description
message string Invitation sent success message
confirm_token string Invitation confirmation token
Error 4xx
Field Description
BadRequest There was an error resending the invitation


Users - (Admin) Search Usernames
GET
Back to Top

This allows Administrators to search usernames. This is used in the admin panel to autocomplete usernames when trying to quickly find a user.

Permissions: Super Administrator, Administrator

/api/admin/users/search
Query
Field Type Description
username string Username to search for, doesn't have to be a full username
limit
optional
number The number of usernames to return while searching
Success 200
Field Type Description
usernames string[] An array containing usernames with accounts on the forum
Error 500
Field Description
InternalServerError There was an error searching for usernames


Users - Update
PUT
Back to Top

Used to update user information such as profile fields, or passwords.

Permissions: User (Users may update their own account)

/api/users/:id
Parameter
Field Type Description
id string The user's unique id
Payload
Field Type Description
username
optional
string The user's username
email
optional
string The user's email
email_password
optional
string The user's password used for updating email
old_password
optional
string The user's old password (used for changing password)
password
optional
string The user's new passowrd (used for changing password)
confirmation
optional
string The user's new password confirmation (used for changing password)
name
optional
string The user's name
website
optional
string URL to user's website
btc_address
optional
string User's bitcoin wallet address
gender
optional
string The user's gender
dob
optional
date Date version of the user's dob
location
optional
string The user's geographical location
language
optional
string The user's native language
position
optional
string The user's position title
raw_signature
optional
string The user's signature as it was entered in the editor by the user
signature
optional
string The user's signature with any markup tags converted and parsed into html elements
avatar
optional
string URL to the user's avatar
posts_per_page
optional
numbers Preference for how many post to view per page
threads_per_page
optional
numbers Preference for how many threads to view per page
collapsed_categories
optional
string[] Array of category id's which the user has collapsed
Success 200
Field Type Description
id string The user's unique id
username
optional
string The user's username
email
optional
string The user's email
name
optional
string The user's name
website
optional
string URL to user's website
btc_address
optional
string User's bitcoin wallet address
gender
optional
string The user's gender
dob
optional
timestamp Timestamp of the user's dob
location
optional
string The user's geographical location
language
optional
string The user's native language
position
optional
string The user's position title
raw_signature
optional
string The user's signature as it was entered in the editor by the user
signature
optional
string The user's signature with any markup tags converted and parsed into html elements
avatar
optional
string URL to the user's avatar
collapsed_categories string[] Array containing id of categories the user collapsed
posts_per_page number Preference indicating the number of posts the user wants to view per page
threads_per_page number Preference indicating the number of threads the user wants to view per page
Error 400
Field Description
BadRequest Occurs when resetting password and an invalid old password is provided
Error 500
Field Description
InternalServerError There was an error updating the user


Users - (Admin) Update User Note
PUT
Back to Top

This allows Administrators and Moderators to update user notes

Permissions: Super Administrator, Administrator, Global Moderator, Moderator

/api/user/notes
Payload
Field Type Description
id string The id of the note to update
note string The updated note
Success 200
Field Type Description
id string The id of the user note
user_id string The id of the user who the note is being left on
author_id string The id of the user leaving the note
note string The note being left on the user's account
created_at timestamp The created at timestamp of the note
updated_at timestamp The updated at timestamp of the note
Error 500
Field Description
InternalServerError There was an error updating user note
Error 403
Field Description
Forbidden User doesn't have permission to update the user note


Users - Preferences
GET
Back to Top

Get a user's preferences.

/api/users/preferences
Success 200
Field Type Description
posts_per_page number The post limit for this user
threads_per_page number The thread limit for this user
collapsed_categories string The ids of the categories to collapse on boards view
Error 500
Field Description
InternalServerError There was an error getting the user's preferences


Watchlist
Watchlist - View Edit Watchlist
GET
Back to Top

Used to view boards and threads for editing a user's watchlist.

/api/watchlist
Query
Field Type Description
limit
optional
number The number of threads/boards to bring back per page
Success 200
Field Type Description
page number The page of results being returned
limit number The number of results per page
has_more_threads boolean Boolean indicating if there are more pages of threads
has_more_boards boolean Boolean indicating if there are more pages of boards
threads object[] An array containing watched thread data
threads.id string The unique id of the watched thread
threads.post_count number The post count of the watched thread
threads.view_count number The view count of the watched thread
threads.board_name string The name of the board the thread is in
threads.title string The title of the thread being watched
boards object[] An array containing watched board data
boards.id string The unique id of the watched board
boards.name string The name of the watched board
boards.post_count number The post count of the watched board
boards.thread_count number The thread count of the watched board
Error 500
Field Description
InternalServerError There was an issue retrieving the watchlist threads.


Watchlist - Page Watchlist Threads
GET
Back to Top

Page though a user's watched threads

/api/watchlist
Query
Field Type Description
page
optional
number The page of watchlist to bring back
limit
optional
number The number of threads to bring back per page
Success 200
Field Type Description
page number The page of results being returned
limit number The number of results per page
has_more_threads boolean Boolean indicating if there are more pages of threads
threads object[] An array containing watched thread data
threads.id string The unique id of the watched thread
threads.post_count number The post count of the watched thread
threads.view_count number The view count of the watched thread
threads.board_name string The name of the board the thread is in
threads.title string The title of the thread being watched
Error 500
Field Description
InternalServerError There was an issue retrieving the watchlist threads.


Watchlist - Page Watchlist Boards
GET
Back to Top

Page though a user's watched boards

/api/watchlist
Query
Field Type Description
page
optional
number The page of watchlist to bring back
limit
optional
number The number of threads to bring back per page
Success 200
Field Type Description
page number The page of results being returned
limit number The number of results per page
has_more_boards boolean Boolean indicating if there are more pages of boards
boards object[] An array containing watched board data
boards.id string The unique id of the watched board
boards.name string The name of the watched board
boards.post_count number The post count of the watched board
boards.thread_count number The thread count of the watched board
Error 500
Field Description
InternalServerError There was an issue retrieving the board watchlist threads.


Watchlist - Page Watchlist Unread
GET
Back to Top

Used to page through a user's watchlist filtered by threads with unread posts.

/api/watchlist
Query
Field Type Description
page
optional
number The page of watchlist to bring back
limit
optional
number The number of threads to bring back per page
Success 200
Field Type Description
page number The page of results being returned
limit number The number of results per page
has_more_threads boolean Boolean indicating if there are more pages of threads
threads object[] An array containing watched thread data
threads.id string The unique id of the watched thread
threads.locked boolean Boolean indicating if the thread is locked
threads.sticky boolean Boolean indicating if the thread is stickied
threads.has_new_post boolean Boolean indicating if the thread has new posts
created_at timestamp Timestamp of when the thread was created
updated_at timestamp Timestamp of when the thread was last updated
threads.view_count number The view count of the watched thread
threads.post_count number The post count of the watched thread
threads.title string The title of the thread being watched
threads.last_post_id string The id of the last post in the thread
threads.last_post_position number The position of the last post in the thread
threads.last_post_created_at timestamp Timestamp of when the last post was created
threads.last_post_username string The username of the author of the last post
threads.last_unread_position number The position of the last unread post
threads.last_unread_post_id string The id of the last unread post
threads.user object Object containing data about the author of the thread
threads.user.id string The id of the author of the thread
threads.user.username string The username of the author of the thread
threads.user.deleted boolean Boolean indicating if the thread author has had their account deleted
Error 500
Field Description
InternalServerError There was an issue retrieving the watchlist threads.


Watchlist - Unwatch Board
DELETE
Back to Top

Used to unmark a user as watching a board.

Permissions: User

/api/watchlist/boards/:id
Parameter
Field Type Description
id string The unique id of the board being unwatched
Success 200
Field Type Description
status object 200 OK
Error 500
Field Description
InternalServerError There was an issue unwatching the board


Watchlist - Unwatch Thread
DELETE
Back to Top

Used to unmark a user as watching a thread.

Permissions: User

/api/watchlist/threads/:id
Parameter
Field Type Description
id string The unique id of the thread being unwatched
Success 200
Field Type Description
status object 200 OK
Error 500
Field Description
InternalServerError There was an issue unwatching the thread


Watchlist - Watch Board
POST
Back to Top

Used to mark a user as watching a board.

Permissions: User

/api/watchlist/boards/:id
Parameter
Field Type Description
id string The unique id of the board being watched
Success 200
Field Type Description
status object 200 OK
Error 500
Field Description
InternalServerError There was an issue watching the board


Watchlist - Watch Thread
POST
Back to Top

Used to mark a user as watching a thread.

Permissions: User

/api/watchlist/threads/:id
Parameter
Field Type Description
id string The unique id of the thread being watched
Success 200
Field Type Description
status object 200 OK
Error 500
Field Description
InternalServerError There was an issue watching the thread