Aide de l’API de MediaWiki

Ceci est une page d’aide de l’API de MediaWiki générée automatiquement.

Documentation et exemples : https://www.mediawiki.org/wiki/API

Module principal

État : Toutes les fonctionnalités affichées sur cette page devraient fonctionner, mais l’API est encore en cours de développement et peut changer à tout moment. Inscrivez-vous à la liste de diffusion mediawiki-api-announce pour être informé des mises à jour.

Requêtes erronées : Si des requêtes erronées sont envoyées à l’API, un en-tête HTTP sera renvoyé avec la clé « MediaWiki-API-Error ». La valeur de cet en-tête et le code d’erreur renvoyé prendront la même valeur. Pour plus d’information, voyez API: Errors and warnings.

Test : Pour faciliter le test des requêtes de l’API, voyez Special:ApiSandbox.

Paramètres :
action

Quelle action effectuer.

Une des valeurs suivantes : block, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, stashedit, tag, tokens, unblock, undelete, unlinkaccount, upload, userrights, watch
Par défaut : help
format

Le format de sortie.

Une des valeurs suivantes : json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
Par défaut : jsonfm
maxlag

La latence maximale peut être utilisée quand MédiaWiki est installé sur un cluster de base de données répliqué. Pour éviter des actions provoquant un supplément de latence de réplication de site, ce paramètre peut faire attendre le client jusqu’à ce que la latence de réplication soit inférieure à une valeur spécifiée. En cas de latence excessive, le code d’erreur maxlag est renvoyé avec un message tel que Attente de $host : $lag secondes de délai.
Voyez Manuel: Maxlag parameter pour plus d’information.

Type : entier
smaxage

Fixer l’entête HTTP de contrôle de cache s-maxage à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.

Type : entier
Par défaut : 0
maxage

Fixer l’entête HTTP de contrôle de cache max-age à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.

Type : entier
Par défaut : 0
assert

Vérifier si l’utilisateur est connecté si positionné à user, ou s'il a le droit d'un utilisateur robot si positionné à bot.

Une des valeurs suivantes : user, bot
assertuser

Vérifier que l’utilisateur actuel est l’utilisateur nommé.

Type : nom d’utilisateur
requestid

Toute valeur fournie ici sera incluse dans la réponse. Peut être utilisé pour distinguer des demandes.

servedby

Inclure le nom d’hôte qui a renvoyé la requête dans les résultats.

Type : booléen (détails)
curtimestamp

Inclure l’horodatage actuel dans le résultat.

Type : booléen (détails)
origin

En accédant à l’API en utilisant une requête AJAX inter-domaines (CORS), mettre le domaine d’origine dans ce paramètre. Il doit être inclus dans toute requête de pre-flight, et doit donc faire partie de l’URI de la requête (pas du corps du POST).

Pour les requêtes authentifiées, il doit correspondre exactement à une des origines dans l’entête Origin header, donc il doit être fixé avec quelque chose comme https://en.wikipedia.org ou https://meta.wikimedia.org. Si ce paramètre ne correspond pas à l’entête Origin, une réponse 403 sera renvoyée. Si ce paramètre correspond à l’entête Origin et que l’origine est en liste blanche, des entêtes Access-Control-Allow-Origin et Access-Control-Allow-Credentials seront positionnés.

Pour les requêtes non authentifiées, spécifiez la valeur *. Cela positionnera l’entête Access-Control-Allow-Origin, mais Access-Control-Allow-Credentials vaudra false et toutes les données spécifiques à l’utilisateur seront filtrées.

uselang

Langue à utiliser pour les traductions de message. action=query&meta=siteinfo avec siprop=languages renvoie une liste de codes de langue, ou en spécifiant user pour utiliser la préférence de langue de l’utilisateur actuel, ou en spécifiant content pour utiliser le langage du contenu de ce wiki.

Par défaut : user
Droits :
writeapi
Utiliser l'API de modification du wiki
Accordé à : user, bot
apihighlimits
Utiliser des valeurs plus hautes dans les requêtes de l’API (requêtes lentes : 500 ; requêtes rapides : 5000). Les limites pour les requêtes lentes s’appliquent aussi aux paramètres multivalués.
Accordé à : bot, sysop

Type de données

Les entrées dans MédiaWiki doivent être en UTF-8 à la norme NFC. MédiaWiki peut tenter de convertir d’autres types d’entrée, mais cela peut faire échouer certaines opérations (comme les modifications avec contrôles MD5) to fail.

Certains types de paramètre dans les requêtes de l’API nécessitent plus d’explication :

boolean
Les paramètres booléens fonctionnent comme des cases à cocher HTML : si le paramètre est spécifié, quelle que soit sa valeur, il est considéré comme vrai. Pour une valeur fausse, enlever complètement le paramètre.
timestamp
Les horodatages peuvent être spécifiés sous différentes formes. Date et heure ISO 8601 est recommandé. Toutes les heures sont en UTC, tout fuseau horaire inclus est ignoré.
  • Date et heure ISO 8601, 2001-01-15T14:56:00Z (la ponctuation et Z sont facultatifs)
  • Date et heure ISO 8601 avec fractions de seconde (ignorées), 2001-01-15T14:56:00.00001Z (tirets, deux-points et Z sont facultatifs)
  • Format MédiaWiki, 20010115145600
  • Format numérique générique, 2001-01-15 14:56:00 (fuseau horaire facultatif en GMT, +##, ou -## sont ignorés)
  • Format EXIF, 2001:01:15 14:56:00
  • Format RFC 2822 (le fuseau horaire est facultatif), Mon, 15 Jan 2001 14:56:00
  • Format RFC 850 (le fuseau horaire est facultatif), Monday, 15-Jan-2001 14:56:00
  • Format ctime C, Mon Jan 15 14:56:00 2001
  • Secondes depuis 1970-01-01T00:00:00Z sous forme d’entier de 1 à 13 chiffres (sans 0)
  • La chaîne now

Remerciements

Développeurs de l’API :

  • Roan Kattouw (développeur en chef Sept. 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Yuri Astrakhan (créateur, développeur en chef Sept. 2006–Sept. 2007)
  • Brad Jorsch (développeur en chef depuis 2013)

Veuillez envoyer vos commentaires, suggestions et questions à mediawiki-api@lists.wikimedia.org ou remplir un rapport de bogue sur https://phabricator.wikimedia.org/.