API:Options

Token
To change options, an options token is required. It can be obtained as follows:

Changing options
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 you can also use it to set semi-arbitrary preferences that can be used for example by user-script or external editors.

These semi-arbitrary options have three limits imposed on them:
 * the key must start with  prefix
 * 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 nor contents of the value, as well as on the number of additional preferences.

Parameters

 * token: The token obtained in the previous request. Take care to urlencode the trailing  as.
 * 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.

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

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

Possible errors
In addition to the usual stuff:
 * code: notloggedin
 * info: Anonymous users cannot change preferences
 * code: nochanges
 * info: No changes were requested