A Service provides server functionality beyond basic manipulation of resources.


Several endpoint handle user authentication. is an HTML page that summarizes the users’ account, which includes:

  • The username, which can’t be changed.
  • Changing or setting the password, which is optional if a linked account is used.
  • Viewing, adding, and removing linked accounts, which are optional if a password is set. The support linked account type is Firefox Accounts.
  • Viewing, adding, and removing emails. Emails can be verified (a link is clicked or a trusted linked account says it is verified), and one is the primary email used for communication.

Additional endpoints for authentication:

  • /accounts/ - Redirect to login or profile, depending on login state
  • /accounts/signup/ - Create a new account, using username and password
  • /accounts/login/ - Login to an existing account, using username and password or selecting a linked account
  • /accounts/logout/ - Logout from site
  • /accounts/password/change/ - Change an existing password
  • /accounts/password/set/ - Set the password for an account using only a linked account
  • /accounts/email/ - Manage associated email addresses
  • /accounts/password/reset/ - Start a password reset via email
  • /accounts/social/connections/ - Manage social accounts
  • /accounts/fxa/login/ - Start a Firefox Accounts login

Data Browser

The Data Browser at is an Ember.js single-page app that allows browsing the resources currently available in the API. It is built with Ember libraries that work with JSON API RC1.


The MDN Importer at is used to scrape data from MDN, extract compatibility data, pinpoint data issues on MDN pages, and commit extracted data to the API.