User:KockaAdmiralac/Service API

Notes about Service API (https://services.fandom.com) endpoints. This is a major WIP. Feel free to contribute more endpoints.

Discussions API, documentation available but internal.

Discussions/Announcements notifications API, documentation available but internal.

Helios API. Perhaps there might be more methods than these, but unsure which work externally.


 * Method: POST
 * Purpose: Obtaining an access token (logging into Fandom).
 * Form body:
 * — Username of the user logging in.
 * — Password of the user logging in.
 * Response: JSON body with an  key and OAuth-related parameters. Automatically sets an   cookie on the fandom.com domain (or wikia.org, if called on services.wikia.org) which acts as a login on all wikis on that domain.


 * Method: GET
 * Purpose: List all possible user attributes with their descriptions.
 * Response: TODO
 * Example: https://services.fandom.com/user-attribute/attr


 * Method: GET
 * Purpose: Describe a single user attribute type.
 * Response: TODO
 * Parameters:
 * — Attribute name of the attribute to describe.
 * Example: https://services.fandom.com/user-attribute/attr/avatar


 * Method: GET
 * Purpose: Get all attributes for a given user.
 * Parameters:
 * — ID of the user to grab attributes for.
 * Response: TODO
 * Example: https://services.fandom.com/user-attribute/user/27345308


 * Method: PATCH
 * Purpose: Update several attributes of a user, empty values will be ignored.
 * Parameters:
 * — ID of the user to grab attributes for.
 * Response: TODO


 * Method: GET
 * Purpose: Get a specific attribute for a given user.
 * Parameters:
 * — ID of the user to grab attribute value for.
 * — Attribute name of the attribute to grab.
 * Response: TODO
 * Example: https://services.fandom.com/user-attribute/user/27345308/attr/avatar


 * Method: PUT
 * Purpose: Set a specific attribute for a user.
 * Parameters:
 * — ID of the user to update the attribute for.
 * — Attribute name of the attribute to update.
 * Response: TODO


 * Method: DELETE
 * Purpose: Delete a specific attribute for a user.
 * Parameters:
 * — ID of the user to delete the attribute for.
 * — Attribute name of the attribute to delete.
 * Response: TODO


 * Method: GET
 * Purpose: Get user attributes for several users.
 * Query parameters: An  parameter for each user to grab.
 * Response: Yeah
 * Example: https://services.fandom.com/user-attribute/user/bulk?id=27345308&id=8


 * Method: GET
 * Purpose: Get all preferences of a user.


 * Method: PUT
 * Purpose: Rewrite all preferences of a user.


 * Method: DELETE
 * Purpose: Delete all preferences of a user.


 * Method: GET
 * Purpose: Get value of a global preference of a user by name and user ID.


 * Method: GET
 * Purpose: Get value of a local preference of a user on a specific wiki by name, user ID and wiki ID.

User avatar API (used by Nitro).

Template Classification Storage API.

Fandom's OpenGraph API used for previewing links in Discussions.

Unified Search API.


 * Method: GET
 * Purpose: Searches through the Unified Search index for a query.
 * Query parameters:
 * — Search query.
 * — Language in which to search for results.
 * — Page of results to grab.
 * — Namespace ID in which to search.
 * — Page size.
 * Example: https://services.fandom.com/unified-search/page-search?query=%22QRThis%22&page=0&lang=en&namespace=8&limit=50

Wiki attribute API.


 * https://services.wikia.com/external-auth/login/google
 * https://services.wikia.com/external-auth/login/twitch

Outdated? Community App API endpoints, for example https://services.wikia.com/mobile-applications/platform/android.

Fandom App-related endpoints.


 * Query parameters:
 * — URL to check?

https://services.fandom.com/mobile-fandom-app/profile/user/8?includeTestInterests=false

https://services.fandom.com/mobile-fandom-app/unified-search/summary?query=test&language=en


 * Example: https://services.fandom.com/user-permissions/permissions/wiki/177/scope/discussions/bulkUsers?uid=8

User registration API.


 * Method: POST
 * Form body:
 * — E-mail address of the user.
 * — Username of the user.
 * — Password of the user.
 * — User's birth date (format YYYY-MM-DD).
 * — Whether the user opted in to receive Fandom emails.
 * — Language code?
 * — ID of the wiki on which the registration occurred.

Tracking? API.

Content Security Policy violation logger.

Logs a CSP violation, where  is "app" for MediaWiki instances.

Event logger API.

Ads.

https://services.wikia.com/icbm/api/config?app=mobile-wiki