API:Options

From MediaWiki.org
Jump to: navigation, search
Tools clipart.png This page is part of the MediaWiki API documentation.
Language: English  • 日本語
MediaWiki API

Quick overview:

v · d · e
MediaWiki version: 1.20

Token[edit | edit source]

To change options, an options token is required. Options tokens can be obtained via action=tokens with type=options (MW 1.20+), or by using the following method:

Obtaining an options token

Changing options[edit | edit source]

Options can be changed using action=options.

While this API is primarily intended for changing options which are registered by MediaWiki core or extensions and available on Special:Preferences, since Gerrit #I5f9ba5 you can also use it to set arbitrary user options that can be used by user-scripts or external editors.

These arbitrary options have three limits imposed on them:

  • the key must start with the prefix userjs-
  • the length of the key must not be more than 255 bytes
  • the key must consist only of ASCII letters, numbers, hyphens and underscores (a-z, A-Z, 0-9, _, -)

There are currently no hard limits on the length or contents of the value, nor is there a limit on the number of user options you can set at once. You can even store a complex tree of data within a user option by encoding it as a JSON string.

Parameters[edit | edit source]

  • token: The token obtained in the previous request. Take care to urlencode the trailing +\ as %2B%5C.
  • reset: Resets all preferences to the site defaults.
  • change: Pipe-separated list of changes, formatted name=value (e.g. skin=vector), value cannot contain pipe characters. Providing only names of options without equal sign (e.g. hideminor|skin) results in resetting them.
  • optionname: A name of a option which should have an optionvalue set.
  • optionvalue: A value of the option specified by the optionname, can contain pipe characters.

The change parameter cannot be used to set a value which contains a pipe character "|", as it is used by the API to separate options. If you need to set such a value (for example, a user signature) use an optionname & optionvalue pair.

Example[edit | edit source]

Note: In this example, all parameters are passed in a GET request for the sake of simplicity. However, action=options requires POST requests; GET requests will cause an error. Changing a single option

Resetting all options and changing a single option

Changing three options

Possible errors[edit | edit source]

In addition to the usual stuff:

  • code: notloggedin
    • info: Anonymous users cannot change preferences
  • code: nochanges
    • info: No changes were requested

See also[edit | edit source]