Caburum Testing Wiki

Example message

READ MORE

Caburum Testing Wiki
Advertisement

What is Nirvana?

Nirvana is an application framework which consists of controllers and methods (also known as templates). It can be accessed via the /wikia.php or /api/v1 endpoint on every wiki for on-wiki things. There is also a central Fandom API which takes care of more global things (like notifications) which can be accessed at services.fandom.com.

Controllers

Here is a list of controllers and templates I have been able to find. Most controllers do not have a HTML format, so they will need to have format=json in the request parameters.

The general layout for wikia.php URLs is https://WIKI.fandom.com/wikia.php?controller=CONTROLLER&method=METHOD&format=FORMAT&PARAMETERS. Any additional parameters can be added on the end.

For api/v1 URLs, https://WIKI.fandom.com/api/v1/CONTROLLER/METHOD/?PARAMETERS, and additional parameters are added on the end.

Finally, for Fandom services, https://services.fandom.com/CONTROLLER/METHOD/ but there are two different ways paramters are inputted, and some methods have sub-methods.

Wikia.php controllers can also have their name suffixed by "Controller" which has no effect on their usage.

Controller Method Description Parameters Body Request Type Authentication Format
DWDimensionApi getWikiDartTags Retrieves a list of dart tags (wgDartCustomKeyValues) after_wiki_id: return results for wikis with a greater id (optional, int)

wiki_limit: return results for at most this number of wikis (int, default 100)

⁠— GET ⁠— json
getWikis Returns wiki metadata after_wiki_id: return results for wikis with a greater id (optional, int)

limit: return results for at most this number of wikis (int, default 100)

⁠— GET ⁠— json
getAllArticles Returns basic article metadata starting_wiki_id: return results after this id (optional, int)

limit: return results for at most this many results (int, default 100)

⁠— GET ⁠— json
getUsers Returns user data after_user_id: return results after this id (optional, int)

limit: return results for at most this many results (int, default 100)

⁠— GET ⁠— json
getWikiCategories Returns the mapping between wikis and categories after_id: return results after this id (optional, int)

limit: return results for at most this many results (int, default 100)

⁠— GET ⁠— json
getWikiImages Returns image metadata starting_wiki_id: return results starting with this id (optional, int)

wiki_limit: search at most this many wikis (int, default 100)

wiki_limit: return at most this many images (int, default 100)

after_image_name: return images after this one (string)

⁠— GET ⁠— json
getWikiInfo Returns wiki stats after_wiki_id: return results for wikis with a greater id (optional, int)

limit: search at most this many wikis (int, default 100)

⁠— GET ⁠— json
getWikiUserGroups Returns users and their groups for each wiki after_wiki_id: return results for wikis with a greater id (optional, int)

wiki_limit: search at most this many wikis (int, default 100)

⁠— GET ⁠— json
UserProfile getUserData A user's special pages on the wiki, their avatar, their edit and post count, whether they are blocked userId: a numeric Fandom user ID GET ⁠— json
saveUserData Validates and saves new user data json
getDefaultAvatars Getting the default/sample avatars ⁠— ⁠— GET ⁠— json
setDefaultAvatar Set a default/sample avatar POST CSRF token json
uploadAvatar Uploading a user's avatar POST CSRF token json
removeAvatar Removing a user's avatar POST CSRF token json
Fandom\ContentReview\Api\ContentReview addRevisionToReview Submit a revision of a JS page for review wikiId: (int)

pageId: (int)

revisionId: (int)

token: edit/CSRF token

POST CSRF token json
startReview POST CSRF token json
rejectRevision Reject a JS revision wikiId: (int)

pageId: (int)

revisionId: (int)

token: edit/CSRF token

POST CSRF token json
approveRevision Approve a JS revision wikiId: (int)

pageId: (int)

revisionId: (int)

token: edit/CSRF token

POST CSRF token json
escalateRevision Escalates review of a JS page and notifies the Fandom developers POST CSRF token json
enableTestMode Enable test mode for the current user ⁠— token: edit/CSRF token POST CSRF token json
disableTestMode Disable test mode for the current user ⁠— token: CSRF token POST CSRF token json
Fandom\Video\Ingestion uploadVideo Adds a video from an external site to the wiki url: a URL form a supported external video site

token: CSRF token

POST CSRF token
Fandom\CommunityPage\CommunityPage getAllAdminsData Gets a list of the wiki admins uselang: language for text ⁠— GET ⁠— json
getAllMembersData Gets a list of the most recent editors uselang: language for text ⁠— GET ⁠— json
getTopContributorsData Gets the top contributors and the current user's rank (if logged in) uselang: language for text ⁠— GET cookie (to get the current user's stats, not required) json
Fandom\FeedsAndPosts\Discussion\DiscussionPost update
create Creates a Discussions post or reply Post

use DiscussionThread:create

POST cookie json
⁠— Reply

jsonModel: #JSON post model (str)

body: plain text representation of the content with JSON encoding (str)

siteId: city id (str)

source: where the post was posted (str: #Thread source)

threadId: the thread to reply to (str)

attatchments: JSON

POST cookie json
delete
undelete
getPost Gets information of a specific post by its ID postId: (int) GET ⁠— json
getPosts Gets the most recent posts and post contributors limit: number of posts (int)

includeCounters: (boolean)

containerType: Social container type

⁠— GET json
Fandom\FeedsAndPosts\Discussion\DiscussionPermalink getThreadByPostId Gets a thread by its post ID postId: (int)

viewableOnly: (boolean)

GET ⁠— json
Fandom\FeedsAndPosts\FeedsAndPosts getPopularTags Gets popular tags in posts ⁠— ⁠— GET ⁠— json
getRecentChanges Gets a simple list of recent changes ⁠— ⁠— GET ⁠— json
getTopArticles Gets a list of top articles ⁠— ⁠— GET ⁠— json
getAll Gets all wiki information used in discussions: recent changes, top articles, theme, wiki variables, wiki details, and the current user's rights ⁠— ⁠— GET ⁠— json
getThemeSettings Gets theme information for the wiki depending on the selected theme in user preferences ⁠— ⁠— GET ⁠— json
getWikiVariables Gets wiki information ⁠— ⁠— GET ⁠— json
getArticleData Gets data about an article title: Article title (string, including namespace) ⁠— GET ⁠— json
searchForTags Searches for articles to use in tags query: search term (string) ⁠— GET ⁠— json
getArticleNamesAndUsernames Gets name of article or user based on ID stablePageIds: page IDs, comma separated

userIds: user IDs, comma separated

⁠— GET ⁠— json
getUserBadge
Fandom\FeedsAndPosts\Discussion\DiscussionThread lock
unlock
update
delete
undelete
create Create a thread forumId: category/forum to post in (int) Post

jsonModel: #JSON post model (str)

body: plain text representation of the content with JSON encoding (str)

title: post title (str)

siteId: city id (str)

forumId: category/forum id (str)

funnel: content type (str: TEXT/POLL/?)

source: where the post was posted (str: DESKTOP_WEB_FEPO/?)

articleIds: article ids to tag (array of strings)

attatchments: JSON

POST cookie json
getThreadForAnons
getThread Get information on a thread by its ID threadId:

limit: (int)

responseGroup: (full/small/?)

sortDirection: (ascending/descending)

sortKey: (str: creation_date/trending)

viewableOnly: (boolean)

GET ⁠— json
getThreads Gets the most recent threads limit: (int)

sortKey: (str: creation_date/trending)

responseGroup: (full/small/?)

viewableOnly: (boolean)

GET ⁠— json
Fandom\FeedsAndPosts\Discussion\DiscussionForum getForums Gets a list of the site's forums with their general data (description, ID, name, thread count, latest contribution) ⁠— ⁠— GET ⁠— json
getForum Gets details of a forum and all posts in it forumId:

limit: number of threads to get (int)

sortKey: (str: creation_date/trending)

⁠— GET ⁠— json
createForum Creates a new forum ⁠— name: forum name (str)

parentId: parent forum (int: default 1)

siteId: city id (str)

POST cookie json
moveThreadsIntoForum Moves threads between forums forumId: forum to move post into threadIds: array of thread IDs (strs) to move POST cookie json
deleteForum Deletes a forum and moves its threads to a different forum forumId: forum to delete moveChildrenTo: forum ID where threads should be moved to (str) POST cookie json
updateForum Updates a forum's name forumId: forum to update name: new forum name (str) POST cookie json
updateForumDisplayOrder Changes the order of the forums ⁠— forumIds: array of current forum IDs (strs) in the order they should be in POST cookie json
Fandom\FeedsAndPosts\Discussion\DiscussionContribution getPosts Get all posts by a user userId: (int)

limit: number of posts (int)

page: (int)

includeCounters: (boolean)

containerType: Social container type

⁠— GET ⁠— json
deleteAll Deletes all posts by a user userId: (int) ⁠— POST cookie json
Fandom\FeedsAndPosts\Discussion\DiscussionPoll castVote Vote in a poll ⁠— multipart/form-data

pollId: (int)

answerIds: (int)

POST cookie json
getVoters Get a list of users who picked a specific answer pollId: (int)

answerId: (int)

⁠— GET ⁠— json
Fandom\FeedsAndPosts\Discussion\DiscussionVote upVotePost Upvote/heart a discussions post ⁠— multipart/form-data

postId: (int)

POST cookie json
downVotePost Downvote/unheart a discussions post ⁠— multipart/form-data

postId: (int)

POST cookie json
Fandom\DiscussionModeration\DiscussionModeration getReportedPosts Gets all reported posts canViewHiddenPosts: (boolean)

viewableOnly: (boolean)

canViewHiddenPostsInContainer: (boolean)

page: (int)

⁠— GET cookie json
getPostListReports Get a list of reports for a specific post postId
reportPost Reports a post postId ⁠— POST cookie ⁠—
validatePostReport Validates a report, hiding it from reported posts (the post still must be deleted if needed) postId ⁠— POST cookie ⁠—
Fandom\DiscussionModeration\DiscussionLeaderboard getPosts Gets active users by number of posts days: (30/90) ⁠— GET cookie json
getModeratorActions Gets active users by number of moderation actions days: (30/90) ⁠— GET cookie json
getReports Gets number of reports per user, and how many were approved/deleted/queued days: (30/90) ⁠— GET cookie json
Fandom\DiscussionModeration\DiscussionImages uploadImage Upload an image to Fandom's image server ⁠— multipart/form-data

context: (string: discussions)

data: (binary)

POST cookie (access_token) json
Fandom\UserProfileActivity\UserProfileActivity getData Gets activity by a user for Special:UserProfileActivity type: (string: posts/messages/comments

userId: (int)

userName: (string) - doesn't seem to do anything

token: (token)

page: (int)

⁠— GET token (probably to view deleted posts, optional) html
getTextContent Gets a text preview of the comment post: The comment post from the discussion service (array)
parseJsonModelToText Converts prose-mirror JSON model into a readable text preview node: (array/object/string)
CreatePage dialog Gets the "create a new article" dialog (html) or wanted pages (json) ⁠— ⁠— GET ⁠— json

html

checkTitle Checks if a page already exists title: page title to check ⁠— GET ⁠— json
Fandom\TemplateClassification\Api\Classification classifyTemplate Classify a single template articleId: template's page ID

pageId: template's page ID

type: (string: infobox/quote/navbox/notice/context-link/infoicon/scrollbox/references/media/data/design/navigation/nonarticle/unknown)

token: (CSRF token)

⁠— POST token json
classifyTemplatesInCategory Classify all templates in a given category type: (string: infobox/quote/navbox/notice/context-link/infoicon/scrollbox/references/media/data/design/navigation/nonarticle/unknown)

token: (CSRF token)

articleId: article ID of category page, category page must exist

RecirculationApi getPopularPages Gets popular wiki pages limit: number of results (int) ⁠— GET ⁠— json
getFandomArticles Gets featured Fandom articles for the Fan Feed limit: number of results (int) ⁠— GET ⁠— json
getLatestThreads Gets the latest threads and some general information about them ⁠— ⁠— GET ⁠— json

html

Fandom\DesignSystem\DesignSystemApi getFooter Gets the global Fandom footer product: ⁠— GET ⁠— json
getNavigation Gets the global Fandom navigation product: ⁠— GET ⁠— json
getCommunityHeader Gets data for the wiki header product: ⁠— GET ⁠— json
getAllElements Return all possible elements of Design System API (footer, global navigation, and community header) product: ⁠— GET ⁠— json
getFandomShopDataFromIntentX External API request to IntentX id: city ID of a Fandom Store commmunity ⁠— GET ⁠— json
UploadNewImages uploadDialog Gets the dialog ⁠— ⁠— GET ⁠— html
uploadFile Endpoint used by for uploading images from the NewFiles page ⁠— multipart/form-data POST ⁠—
checkForWarnings Checks if the file name already exists ⁠— Form Data:

wpDestFile: file name (no namespace)

POST ⁠— json
Fandom\Activity\ActivityApi getSocialActivity Returns social activity feed JSON lastUpdateTime: only show results after a time (epoch int)

uselang: language for results

containerTypes: list of social container types, seperated by a URL encoded comma: %2C

locked: hide results that aren't the lock action (boolean)

deleted: hide results that aren't the deleted action (boolean)

edited: hide results that aren't the action (boolean)

unregistered: hide results that aren't from unregstered users (boolean)

⁠— GET ⁠— json
Fandom\UnifiedSearch\Api\UnifiedSearchSuggestions getSuggestions Allows to find all pages for searchable namespaces in this wiki scope: (str: internal/cross-wiki)

query: search term (str)

⁠— GET ⁠— json
Fandom\UnifiedSearch\WikiaSearchIndexer get service: (string of service name, default: DefaultContent)

ids: (pipe-separated)

flags: (pipe separated)

⁠— GET ⁠— json
getForWiki service: (string of service name) ⁠— GET ⁠— json
Fandom\UnifiedSearch\UnifiedSearchIndexing getWikiPages Allows to find all pages for searchable namespaces in this wiki offset: (int, default 0)

limit: (int, default 1000)

⁠— GET ⁠— json
getWikis Allows to find all wikis to be indexed offset: (int, default 0)

limit: (int, default 1000)

⁠— GET ⁠— json
Fandom\Includes\Api\SearchSeeding getLocalSearchInfo Get top local search terms ⁠— ⁠— GET ⁠— json
getGlobalSearchInfo Get top global search terms and the corresponding wikis ⁠— ⁠— GET ⁠— json
Fandom\ArticleComments\Api\ArticleComments postNewCommentThread Start a new article comment thread for an existing page POST CSRF token
postNewCommentReply Reply to an existing article comment on a given page POST CSRF token
editComment Edit an existing comment POST CSRF token
reportPost Report a particular post (both comment or reply) POST CSRF token
getCommentCount Return comment count for given article namespace: namespace id (int)

title: page title (str)

hideDeleted: (boolean)

⁠— GET ⁠— json
getThread Get thread comment with replies by threadId threadId: (int)

namespace: namespace id (int)

title: page title (str)

⁠— GET ⁠— json
getComments Get a list of comments for a given article namespace: namespace id (int)

title: page title (str)

hideDeleted: (boolean)

⁠— GET ⁠— json
deletePost Delete a particular post (both comment or reply) POST CSRF token
undeletePost Undelete a particular post (both comment or reply) POST CSRF token
getArticleTitle Finds article title based on the stablePageId GET ⁠— json
EmailConfirmation postEmailConfirmation Attempt to confirm the user's email address and show success or failure
EmailTesting getRenderedEmail name:

params:

GET cookie (access_token) of user with access-sendemail right
Fandom\PortableInfoboxBuilder\PortableInfoboxBuilder getAssets
getData
publish
getRedirectUrls
getTemplateExists
Fandom\Includes\Api\WikisApi getWikisUnderDomain Gets list of communities hosted under a given domain (or the primary domain url)

Returns 404 for unknown domains

domain: full community domain, can be localized

localizeUrls: whether to localize the city urls before returning (boolean)

⁠— GET ⁠—
getDetails Gets the information about wikis ids: array of city ids, comma separated (max 250)

snippet: Maximum number of words returned in description (int, optional)

width: Thumbnail width in pixels (int, optional)

height: Thumbnail height in pixels (int, optional)

⁠— GET ⁠— json
Fandom\MessageWall\MessageWall getThreads Get all threads on a wall wallOwnerId:

responseGroup: (string: full)

limit:

pivot:

page:

⁠— GET ⁠— json
getThread Get a specific thread and it's replies wallOwnerId:

threadId:

responseGroup: (string: full)

limit:

pivot:

page:

⁠— GET ⁠— json
createThread ⁠— token: (CSRF token)

wallOwnerId:

title:

rawContent:

jsonModel:

attachments:

POST CSRF token json
createReply ⁠— token: (CSRF token)

wallOwnerId:

threadId:

rawContent:

jsonModel:

attachments:

POST CSRF token json
editPost Edit a post, which may be the original post or a reply ⁠— token: (CSRF token)

wallOwnerId:

postId:

title:

rawContent:

jsonModel:

attachments:

POST CSRF token json
reportPost ⁠— token: (CSRF token)

postId:

POST CSRF token json
deleteReply ⁠— token: (CSRF token)

wallOwnerId:

postId:

POST json
undeleteReply ⁠— token: (CSRF token)

wallOwnerId:

postId:

POST json
lockThread Lock a thread to disallow editing ⁠— token: (CSRF token)

wallOwnerId:

threadId:

POST json
unlockThread Unock a thread to allow editing ⁠— token: (CSRF token)

wallOwnerId:

threadId:

POST json
canAnonsPost Check if anonymous users can post on this community json
Announcements getActiveUsers Get list of user ids who edited any page on a specific wiki in given amount of time wikiId: city id

days: (int)

⁠— GET ⁠— json
JWPlayerTag onParserFirstCallInit
getElementId
renderTag
UserTools Toolbar Renders User Toolbar for logged-in users
ToolbarConfiguration Called when user opens config modal for Toolbar
ToolbarSave Called when user saves new toolbar settings via config modal
Menu
ToolbarConfigurationPopup
ToolbarConfigurationRenameItemPopup
WikiaRobots getAllowedDisallowed Gets a list of allowed and disallowed URLs and sitemap URL for robots.txt for the current wiki ⁠— ⁠— GET ⁠— json
getRulesForDomain Same as getAllowedDisallowed, but for all wikis on the domain forcerobots: (bool) ⁠— GET ⁠— json
WikiaBar getWikiaBarState Get preference of collapse/uncollapse WikiaBar ⁠— ⁠— GET ⁠— json
changeWikiaBarState Set preference to collapse/uncollapse WikiaBar ⁠— application/x-www-form-urlencoded

changeTo: (string: shown/hidden)

token: CSRF token

POST ⁠— json
Fandom\Oasis\PageHeader\Share\PageShare getPageShareModal Gets the modal for sharing a page (URL must be substituted into $url) title: page title

lang:

isTouchScreen:

html

json

Lightbox lightboxModalContent Get lightbox modal content mustache template lightboxVersion: wgStyleVersion

userLang: language code

⁠— GET ⁠— html
lightboxModalContentError lightboxVersion: wgStyleVersion

userLang: language code

⁠— GET ⁠— html
getThumbImages Get a list of latest photos for the wiki count: limit per request

to: timestamp

inclusive: include Latest Photos (boolean)

GET ⁠— json
getMediaDetail Returns complete details about a single media (file) fileTitle: file title, no namespace (string)

isInline: Determines whether the media file should show inline (boolean, optional)

width: context width (int, optional)

height: context height (int, optional)

type:

⁠— GET ⁠— json
getShareCodes Returns pre-formatted social sharing urls and codes fileTitle:

articleTitle: (optional)

⁠— GET ⁠— json
shareFileMail AJAX function for sending share e-mails address: email to share the file with

fileName: name of the file being shared

shareTarget: article the file is included on

shareNamespace: namespace of the article the file is included on (int)

type: if 'video', the message is customized for media type video

POST ⁠— json
getTotalWikiImages Get number of images on the wiki count: extra number to be included in total images (int)

inclusive: include Latest Photos (boolean)

⁠— GET ⁠— json
getLightboxHelper Get an instance of the lightbox helper
getArticlesFinder Get an instance of the article finder
FandomMobileLightbox (must use fandommobile skin) getMediaDescription Get the HTML of a file description page for use in the modal fileName: file name, no namespace (string) ⁠— GET ⁠— json
Fandom\HealthCheck\Api\Health databases Get status of database clusters ⁠— ⁠— GET ⁠— json
Fandom\AdminDashboard\WikiFeatures wikiFeatures Gets the current status of each feature ⁠— ⁠— GET json

html

toggleFeature Toggles a feature ⁠— Form Data

feature: feature (str)

enabled: (boolean)

token: CSRF token

POST CSRF token json
Fandom\FounderProgressBar\FounderProgressBar getShortTaskList Get the short list of available founder tasks
getDb
getMCache
getLongTaskList Get all founder tasks with more details (available, completed, skipped) use_master: (boolean)
doTask Form Data

task_id: The ID of the task completed (int)

POST
skipTask Form Data

task_id: The ID of the task completed (int)

widget
getNextTask
setTaskCount
setBonusTasks
CategorySelect getWikiCategories Returns all of the categories on the current wiki ⁠— ⁠— GET ⁠— json
save Save categories sent via AJAX into article ⁠— application/x-www-form-urlencoded

articleId: (int)

categories[0][namespace]: (string: Category)

categories[0][name]: (string)

categories[0][type]:

categories[0][sortkey]:

categories[0][outertag]:

token: (CSRF token)

POST CSRF token json
Fandom\Includes\Api\ThemeApi themeVariables Gets CSS for theme designer variables variant: (string: dark/light) (optional) ⁠— GET ⁠— css
getThemeVariablesResourceUrl Builds url based on wikiId and preferredTheme

If there's no preference for theme variant it won't add `variant` query param

preferredVariantName: (string/null)
brandThemeVariables Gets CSS for brand theme variables variant: (string: dark/light) (optional) ⁠— GET ⁠— css
getBrandThemeVariablesResourceUrl Builds brand variables url based on variant name

Community id and version params are omitted because brand colors won't be changed that often

preferredVariantName: (string/null)
predefinedThemeVariables id: (integer)

variant: (string)

css
getPredefinedThemeVariablesResourceUrl Builds predefined variables url based on variant name and theme id

Community id and version params are omitted because brand colors won't be changed that often

id: (integer)

variant: (string)

purgeResources Purges default resource URL and variant-specific URL if passed as an argument preferredVariantName: (string)
Fandom\Includes\Api\UserApi getDetails Get details about one or more user ids: comma-separated list of user IDs (string)

size: desired width/height for the thumbnail (int, default: 100)

getUsersByName Query for user names matching a given prefix in a case-insensitive manner query: (string) ⁠— GET ⁠— json
Fandom\Includes\Api\ArticlesApi getTop Get the top articles by pageviews optionally filtering by category and/or namespaces namespaces: filter by namespace (optional, array: namespace IDs)

expand: if set will expand result with getDetails data (optional, string)

⁠— GET ⁠— json
getList Get articles under a category category: name of a category to use as a filter (optional, string)

namespaces: filter by namespace (optional, array: namespace IDs)

limit: (int, default 25)

offset: offset to start fetching data from (optional, int)

expand: if set will expand result with getDetails data (optional, string)

⁠— GET ⁠— json
getDetails Get details about one or more articles

Those in the Special namespace won't produce any result

ids: list of article IDs (string, comma separated)

titles: DbKey titles (string)

abstract: desired length for the article's abstract (int, default 100, max 500, 0 for none)

width: desired width for the thumbnail: desired width for the thumbnail (int, default 200, 0 for none)

height: desired height for the thumbnail (int, default 200, 0 for none)

⁠— GET ⁠— json
getCacheKey
purgeCache
Fandom\Includes\Api\SearchSuggestionsApi getList Finds search suggestions phrases for chosen query query: query to search (string)

limit: max number of returned items (int)

nospecial: whether to include special pages or no

nsfilter: filter results by namespace id

ns: search only within given category

⁠— GET ⁠— json
Fandom\Includes\Api\LinkSuggest getLinkSuggestions Finds suggestions phrases for chosen query query: query to search (string)

limit: max number of returned items (int)

nospecial: whether to include special pages or no

nsfilter: filter results by namespace id

ns: search only within given category

⁠— GET ⁠— json
WikiaApi
Wikia
Fandom\MercuryApi\MercuryApi getWikiVariables Returns wiki variables for the current wiki ⁠— ⁠— GET ⁠— json
getAnnouncementsWikiVariables Returns wiki variables for the current wiki that are used in the legacy /announcements page ⁠— ⁠— GET ⁠— json
getDiscussionsWikiVariables Returns wiki variables for the current wiki that are used in /f ⁠— ⁠— GET ⁠— json
getTrackingDimensions Returns UA dimensions ⁠id: article ID (int, optional)

title: article title (string, optional)

⁠— GET ⁠— json
Fandom\FandomDesktop\Rail\Rail renderLazyContentsAnon Get rail contents for anons modules: (array from wgRailModuleList)

params: (object from wgRailModuleParams)

fdRightRail:

uselang: (MW lang string)

useskin: (string: fandomdesktop)

⁠— GET ⁠— html
renderLazyContents Get rail contents for logged-in users ⁠— GET ⁠— html
Fandom\Oasis\Rail\Rail renderLazyContentsAnon Get rail contents for anons ⁠— GET ⁠— html
renderLazyContents Get rail contents for logged-in users ⁠— GET ⁠— html
Fandom\WikiaInYourLang\WikiaInYourLang getNativeWikiaInfo targetLanguage:

articleTitle:

interlangTitle:

⁠— GET ⁠— json
Fandom\Blogs\CreateBlogListing checkMatches Handles async category match finder categories:
Fandom\Blogs\BlogListing getResults Modify results from Blogs

Add likes count and render avatar

renderBlogListing Render blog listing

Output HTML just for Oasis which will be hidden by default

renderEmptyBlogListing
Fandom\Blogs\CreateBlog dialog Create a new blog post dialog uselang: (language) ⁠— GET ⁠— html
ArticleExporterApi getArticles Parse an article and get details about it ids: (article ID) ⁠— GET ⁠— json
ThemeDesigner (seems to be unused in FandomDesktop, see MW API savetheme and gettheme) uploadWordmark
uploadFavicon
uploadBackgroundImage
saveSettings
Fandom\TemplateClassification\Api\OldThemeSettingsController getSettings Gets settings from the old theme designer ⁠— ⁠— GET cookie (access_token) of user with themedesigner right json
Fandom\CuratedContent\CuratedContentValidator validateCuratedContentSection item: POST
validateCuratedContentSectionWithItems item: POST
validateCuratedContentSectionItem item: POST
validateCuratedContentFeaturedItem item: POST
Fandom\CuratedContent\CuratedContent getData Gets data for the curated content of the mobile main page ⁠— GET cookie (access_token) of user with curatedcontent right json
setCuratedContentData Set data for the mobile main page's curated content data: JSON encoded data POST cookie (access_token) of user with curatedcontent right json
getImage Get the URL and ID of an image based on its name title: image file name, including namespace (string)

size: (int)

⁠— GET ⁠— json
getList Get content of the section of the mobile main page's curated content section: ⁠— GET ⁠— json
Fandom\CuratedContent\ImageFinder getList Get a list of images matching a query query: (string)

limit: (int, default 24)

⁠— GET ⁠— json
Fandom\CuratedContent\ImageUpload upload Upload an image to the wiki ⁠— token: CSRF token

file: (binary)

type: (string: image)

POST CSRF token json
getImageId Get the ID of an image title: image file name, no namespace (string) ⁠— GET ⁠— json
Fandom\ImageServing\Api\ImageServing getImages Returns an array containing result from image serving ids: array of article IDs from which to retrieve images

width: the desired thumbnail width in pixels (int)

height: the desired thumbnail height in pixels or an array of proportions (see ImageServing::getImages)

count: the maximum number of images to retrieve for each article

⁠— GET ⁠— json
getImageUrl Redirect to the file path of a file id: file article ID (int)

revision: revision ID of the upload (int, optional)

⁠— GET ⁠— Redirect to file
Fandom\RecommendationTiles\Api\RecommendationTileApi getDetails Retrieves the content of tiles displayed by the recommendations module ids: article ids (CSV int) ⁠— GET ⁠— json
getAllowedParams
Fandom\Email\Controller\SendGridPostback log Handles requests from SendGrid when an email is opened, clicked, etc... ⁠— JSON encoded associative array

email:

wikia-email-id:

wikia-email-city-id:

wikia-db:

event:

url:

status:

reason:

POST
AdEngine postLog Post logs from the ad engine to the internal logger POST json
SitemapXml sitemap Returns sitemap XML

Invokes SitemapXml::index

path: (string)
  • showIndex if string contains "-index.xml"
  • forceOldSitemap if string contains "-oldsitemapxml-"
  • forceNewSitemap if string contains "-newsitemapxml-"
⁠— GET ⁠— xml
index Returns sitemap XML path: (string, default: sitemap-index.xml) ⁠— GET ⁠— xml
Fandom\QuickTools\QuickTools quickToolsModal Returns info for the QuickTools modal username: target username (string) ⁠— GET ⁠— json
blockUser Block the target user account ⁠— target: target username (string)

length: block length (string)

summary: block summary (string)

token: CSRF token

POST CSRF token of user with quicktools right json
revertAll Revert and/or delete all the target user's edits on a wiki ⁠— target: target username (string)

time: timestamp to revert edits since

summary: summary (string)

dorollback: whether or not to perform rollbacks (boolean, default true)

dodeletes: whether or not to perform deletions (boolean, default true)

markbot: whether or not to mark rollbacks as bot edits (boolean, default false)

token: CSRF token

POST CSRF token of user with quicktools right json
Fandom\CreateNewWiki\Builder\CreateNewWiki checkWikiName Check if the wiki name violates any policies name: wiki name (string)

lang: language code (string)

⁠— GET ⁠— json
checkDomain Check if the subdomain violates any policies and list possible duplicates name: domain name (string)

lang: language code (string)

⁠— GET ⁠— json
checkDescription Validate wiki description description: wiki description (string) ⁠— GET ⁠— json
checkReasonLength Validate the "Other" reason length when creating duplicated wiki reason: (string) ⁠— GET ⁠— json
goToWiki wikiUrl ⁠— POST ⁠—
Fandom\PhotoGallery\Api\GalleryEditor upload Upload images from the gallery editor modal ⁠— multipart/form-data

wpUploadFile: file data

token: CSRF token

wpIgnoreWarning: (boolean)

POST CSRF token
saveGalleryData Edit a gallery on a given page ⁠— index:

wikitext:

pageId:

expectedRevisionId:

token: CSRF token

POST CSRF token json
getSearchResult Search for images whose name matches the given query

Returns rendered image list HTML transmitted as JSON if any results were found

⁠— query: POST ⁠— json
getThumbnail Render a thumbnail of a given image for preview inside the modal ⁠— imageName: POST ⁠— json
renderGalleryPreview Live preview of photo galleries in the gallery builder ⁠— gallery: encoded JSON
  • images
  • externalImages
  • params

pageId:

POST ⁠— json
renderSliderPreview Live preview of photo sliders in the gallery builder
renderSlideshowPreview Live preview of photo slideshows in the gallery builder
getGalleryData Fetch metadata for a given gallery indexOfGallery:

pageId:

expectedRevisionId:

⁠— GET ⁠— json
getEditorDialog Get the gallery editor modal HTML, system messages, and default param values ⁠— pageId: POST ⁠— json
BannerNotifications
FilePage (internal)
RemoveUserData (internal)
ArticleVideoInternal (internal)
RenameUser (internal)
Fandom\Phalanx\Api\Phalanx test
details
list
createOrUpdate
validateRegex
Fandom\FandomProtectSite\ProtectSite saveProtectionSettings Change the protection settings of a wiki ⁠— token: CSRF token

reason: (string)

prevent_anons_only: (boolean)

{action}: param name is one of edit, create, move, upload (boolean)

expiry: (string, default 1 hour)

suppress_expiry: show expiry in message (boolean)

POST CSRF token of user with protectsite right json
Fandom\Achievements\Achievements getBadges Get awarded badges for a user user: target user name (string)

page: (integer)

⁠— GET ⁠— html
Fandom\InteractiveMaps\API\AllMaps createMapDialog Get the modal to create a map uselang: language code (string) ⁠— GET ⁠— html
Get the number of maps ⁠— json
checkTitle Check if a map already exists title: map title to test (string) ⁠— GET ⁠— json

Logging in for feeds

/kratos-public/self-service/login/api

GET https://services.fandom.com/kratos-public/self-service/login/api (doc) to initiate a login flow.

POST to the URL found in ui.action (doc) with a payload like this:

{
	"method": "password",
	"password_identifier": username,
	"password": password
}

A fandom_session cookie is set automatically, which is used for authentication. The endpoint will also return a JSON body with information about the authentication and identity.

/mobile-fandom-app/fandom-auth/login

POST the username and password in a x-www-form-urlencoded payload to https://services.fandom.com/mobile-fandom-app/fandom-auth/login. The password used for authentication on Discussions must be the regular account password (not from Special:BotPasswords)

A fandom_session cookie is set automatically, which is used for authentication. The endpoint will also return a JSON body with an access_token key and other authentication parameters. Using an access_token is deprecated.

/auth/token (removed)

POST the username and password in a x-www-form-urlencoded payload to https://services.fandom.com/auth/token. The password used for authentication on Discussions must be the regular account password (not from Special:BotPasswords)

Set the X-Wikia-WikiaAppsId header to any integer to bypass the "proof of work" restriction that Fandom uses to deter denial-of-service attacks from occurring over the API. It's not publicly documented, but must be present for API scripts to work.

You may need to set the X-Fandom-Auth header to 1 on subsequent requests.

Other headers

X-Mw-Wiki-Id
(wiki id integer) uses a different wiki then the one it was called from

JSON post model

Fandom's Feeds messages are stored in their backend as a very limited subset of Atlassian Document Format (ADF).

type "doc"
content Array of block objects

Each object in the array is a new line

Block objects

Paragraph

type "paragraph"
content Array of inline objects

Different formatted objects are stringed together on one line, no spaces are added automatically

Bulleted list

type "bulletList"
content Array of list item objects
attrs
createdWith"* "
What text was used to initiate the list

Ordered list

type "orderedList"
content Array of list item objects
attrs
createdWith"1. "
What text was used to initiate the list

Code/preformatted block

type "code_block"
content Array of inline objects

Open graph

type "image"
attrs.attachment
attrs.id
attrs.url URL
attrs.wasAddedWithInlineLink boolean

Image

type "image"
attrs.attachment
attrs.id Index of the image in attachments.contentImages (sent when when creating a post) or _embedded.contentImages (when receiving a post)

List item

type "listItem"
content paragraph

Inline objects

Text

type "text"
marks Array of mark type objects
text Plain text content
Marks
Italics
type "em"
Bold
type "strong"
Code
type "code"
Link
type "link"
attrs.href URL
attrs.title String for title text
@Mention
type "link"
attrs.href null
attrs.userId Mentioned user's ID
attrs.userName Mentioned user's name

Image

type "image"
attrs.src URL
attrs.alt String for alt text
attrs.title String for title text

Thread source

String, can be any of the below:

  • DISCUSSIONS
  • CURATION_CMS
  • MOBILE_APP_ARTICLES
  • MOBILE_APP_VIDEOS
  • MOBILE_APP_FEED
  • DESKTOP_WEB_DISCUSSIONS
  • MOBILE_WEB_DISCUSSIONS
  • MIGRATED_POST
  • CONSOLIDATED_APP_ANDROID
  • CONSOLIDATED_APP_IOS
  • COMMUNITY_APP_IOS
  • UNCATEGORIZED
  • COMMUNITY_APP_ANDROID
  • DESKTOP_WEB_FEPO
  • MOBILE_WEB_FEPO
  • IOS_APP_FEPO
  • ANDROID_APP_FEPO
  • MIGRATED_WALL_POST
  • MIGRATED_ARTICLE_COMMENT

Social container types

  • ARTICLE_COMMENT
  • WALL
  • FORUM

See also

Advertisement