Довідка API MediaWiki

Це автоматично генерована сторінка документації API MediaWiki.

Документація та приклади: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page

Головний модуль

Статус: Усі функції, вказані на цій сторінці, мають працювати, але API далі перебуває в активній розробці і може змінитися у будь-який момент. Підпишіться на список розсилки mediawiki-api-announce, щоб помічати оновлення.

Хибні запити: Коли до API надсилаються хибні запити, буде відіслано HTTP-заголовок з ключем «MediaWiki-API-Error», а тоді і значення заголовку, і код помилки, надіслані назад, будуть встановлені з тим же значенням. Більше інформації див. на сторінці API: Помилки й попередження.

Конкретні параметри:
action

Яку дію виконати.

abusefiltercheckmatch
Перевірити, щоб побачити, чи відповідає фільтр зловживань набору змінних, редагуванню чи журнальовані дії фільтра зловживань.
abusefilterchecksyntax
Перевірити синтаксис фільтра зловживань.
abusefilterevalexpression
Оцінює вираз фільтра зловживань.
abusefilterunblockautopromote
Розблоковує користувача від отримування автоматичних просувань через послідовність фільтрів.
abuselogprivatedetails
Переглянути приватні деталі запису в журналі фільтра зловживань.
acquiretempusername
Получить временное имя пользователя и сохраните его в текущем сеансе, если создание временной учетной записи включено и текущий пользователь вышел из системы. Если имя уже сохранено, возвращается то же имя.
antispoof
Перевірите ім'я користувача через перевірку нормалізації AntiSpoof.
block
Заблокувати користувача.
centralauthtoken
Отримати centralauthtoken для виконання автентифікованого запиту до прикріпленої вікі.
centralnoticecdncacheupdatebanner
Запитати очистку вмісту банеру збереженого в CDN-кеші (на фронт-енді) для анонімних користувачів для обраних банеру та мови.
centralnoticechoicedata
Отримати дані, необхідні для вибору банера для даного проєкту та мови
centralnoticequerycampaign
Отримати всі параметри конфігурації для кампанії.
changeauthenticationdata
Зміна параметрів автентифікації для поточного користувача.
changecontentmodel
Змінити модель вмісту сторінки
checktoken
Перевірити коректність токена з action=query&meta=tokens.
cirrus-config-dump
Дамп конфігурації CirrusSearch.
cirrus-mapping-dump
Дамп відображення CirrusSearch для цієї Вікі.
cirrus-profiles-dump
Дамп профілів CirrusSearch для цієї вікі.
cirrus-settings-dump
Дамп налаштувань CirrusSearch для цієї Вікі.
clearhasmsg
Очищає прапорець hasmsg для поточного користувача.
clientlogin
Увійдіть у вікі з допомогою інтерактивного потоку.
communityconfigurationedit
Change the content of a configuration provider in Community configuration
compare
Отримати порівняння двох сторінок.
createaccount
Створити новий обліковий запис користувача.
createlocalaccount
Примусово створити локальний обліковий запис. Центральний обліковий запис має існувати.
cxdelete
Вилучити чернетку перекладу, створену за допомогою розширення ContentTranslation.
cxsuggestionlist
Керувати списками пропозицій. Додавати пропозиції до списку й вилучати їх.
cxtoken
Отримати токени JWT для автентифікації з cxserver.
delete
Вилучити сторінку.
deleteglobalaccount
Вилучити глобального користувача.
discussiontoolsedit
Опублікувати повідомлення на сторінку обговорення.
discussiontoolsfindcomment
Найти комментарий по его идентификатору или названию.
discussiontoolsgetsubscriptions
Отримайте статуси підписки на певні теми.
discussiontoolssubscribe
Підписатися (або скасувати підписку), щоб отримувати сповіщення про тему.
discussiontoolsthank
Send a public thank-you notification for a comment.
echocreateevent
Manually trigger a notification to a user
echomarkread
Позначити сповіщення як прочитані для поточного користувача.
echomarkseen
Позначити сповіщення як переглянуті для поточного користувача.
echomute
Приглушити або повернути сповіщення від деяких сторінок чи користувачів.
edit
Створювати і редагувати сторінки.
editmassmessagelist
Редагувати список доставки масових повідомлень.
emailuser
Надіслати електронного листа користувачеві
expandtemplates
Розгортає усі шаблони в межах вікірозмітки.
featuredfeed
Видає стрічку обраного контенту.
feedcontributions
Повертає стрічку внеску користувача.
feedrecentchanges
Видає стрічку нових редагувань.
feedwatchlist
Видає стрічку списку спостереження.
filerevert
Повернути файл до старої версії.
globalblock
Глобально заблокувати чи розблокувати користувача.
globalpreferenceoverrides
Змінити локальні заміни глобальних налаштувань для поточного користувача.
globalpreferences
Змінити глобальні налаштування поточного користувача.
globaluserrights
Додати/вилучити користувача до/з глобальних груп.
growthmanagementorlist
Керуйте інформацією в структурованому списку наставників (зазвичай зберігається в MediaWiki:GrowthMentors.json). Цим модулем можуть користуватися як поточні, так і майбутні наставники (щоб додати себе чи змінити свої дані), а також адміністратори (для всіх користувачів).
growthmentordashboardupdatedata
Запланувати позачергове оновлення модуля огляду підопічних на панелі наставника. З робочих міркувань, ви можете запланувати не більше одного оновлення упродовж двох годин.
growthsetmenteestatus
Задає статус наставника (дозволяє наставникам вмикати/вимикати модуль наставництва або зовсім відмовитися, що вилучить зв'язок підопічного й наставника)
growthsetmentor
Призначити наставника для користувача. Зміну буде записано в публічному журналі.
growthstarmentee
Позначити підопічного зірочкою або зняти позначку як поточний користувач (зберігається приватно і не вноситься в журнали)
help
Відображати довідку для зазначених модулів.
homepagequestionstore
Отримати форматовані запитання, опубліковані через модулі домашньої сторінки
imagerotate
Цей модуль було відключено.
import
Імпортувати сторінку з іншої вікі або з XML-файлу.
jsonconfig
Забезпечує прямий доступ до підсистеми JsonConfig.
languagesearch
Пошук назв мов у будь-якому написанні.
linkaccount
Пов'язати обліковий запис третьої сторони з поточним користувачем.
login
Увійти в систему й отримати куки автентифікації.
logout
Вийти й очистити дані сесії.
managetags
Виконати керівні завдання щодо зміни теґів.
massmessage
Надіслати повідомлення на список сторінок.
mergehistory
Об'єднання історій редагувань.
move
Перейменувати сторінку.
opensearch
Шукати у вікі з використанням протоколу OpenSearch.
options
Змінити налаштування поточного користувача.
paraminfo
Отримати інформацію про модулі API.
parse
Аналізує вміст і видає парсер виходу.
patrol
Відпатрулювати сторінку чи версію.
protect
Змінити рівень захисту сторінки.
purge
Очистити кеш для вказаних заголовків.
query
Вибірка даних з і про MediaWiki.
removeauthenticationdata
Вилучити параметри автентифікації для поточного користувача.
resetpassword
Відправити користувачу лист для відновлення пароля.
revisiondelete
Вилучити або відновити версії.
rollback
Скасувати останнє редагування цієї сторінки.
rsd
Експортувати як схему RSD (Really Simple Discovery).
setglobalaccountstatus
Приховати або закрити (або скасувати приховання чи закриття) глобального облікового запису користувача.
setnotificationtimestamp
Оновити часову мітку сповіщень для сторінок, що спостерігаються.
setpagelanguage
Змінити мову сторінки.
shortenurl
Перетворити довгу URL-адресу в коротку
sitematrix
Отримати список сайтів Вікімедіа.
spamblacklist
Перевірити одну або кілька URL-адрес у списку заблокованих спам-посилань.
streamconfigs
Розкриває конфігурацію потоку подій. Видає лише format=json із formatversion=2.
strikevote
Дозволяє адміністраторам викреслити або відновити голоси.
sxdelete
Delete the draft section translation and its parallel corpora from database.
tag
Додати або вилучити зміни міток з окремих версій або записів журналу.
templatedata
Отримати дані, що зберігаються розширенням TemplateData.
thank
Надіслати редактору сповіщення про подяку.
titleblacklist
Перевірити назву сторінки, файлу або ім'я користувача на наявність у чорному списку назв.
torblock
Перевірте, чи не заблоковано IP-адресу як вихідний вузол Tor.
transcodereset
Користувачі з правом «transcode-reset» можуть скинути і повторити задачу перекодування.
unblock
Розблокувати користувача.
undelete
Відновити версії вилученої сторінки.
unlinkaccount
Вилучити пов'язаний обліковий запис третьої сторони з поточного користувача.
upload
Завантажити файл, або отримати статус завантажень у процесі.
userrights
Змінити членство користувача у групах.
validatepassword
Перевірити пароль на предмет відповідності політикам вікі щодо паролів.
watch
Додати або вилучити сторінки з списку спостереження поточного користувача.
webapp-manifest
Виводить маніфест webapp.
webauthn
Модуль API для комунікації між сервером та клієнтом протягом процесу реєстрації/автентифікації.
bouncehandler
Внутрішній. Отримувати електронний лист-відмову і обробляти його для обробки невдалого одержувача.
categorytree
Внутрішній. Внутрішній модуль для розширення CategoryTree.
cirrus-check-sanity
Внутрішній. Reports on the correctness of a range of page ids in the search index
collection
Внутрішній. API module for performing various operations on a wiki user's collection.
cspreport
Внутрішній. Використовується браузерами для повідомлення порушень Правил безпеки контенту (Content Security Policy). Цей модуль не повинен використовуватися, окрім випадків автоматичного використання веб-браузером для CSP-скарги.
cxcheckunreviewed
Внутрішній. Check if any fast, unreviewed translation has been published recently for the current user.
cxpublish
Внутрішній. Зберегти сторінку, створену за допомогою розширення ContentTranslation.
cxpublishsection
Внутрішній. Зберегти розділ, створений функцією перекладу розділу розширення Переклад вмісту.
cxsave
Внутрішній. Цей модуль дає змогу зберігати чернетки перекладів за розділом, щоб зберігати ширину смуги і накопичувати паралельні переклади.
cxsplit
Внутрішній. Create and save a section translation to database, for every translated section of the given article translation
discussiontoolscompare
Внутрішній. Отримати інформацію про зміни коментарів між двома версіями сторінки.
discussiontoolspageinfo
Внутрішній. Повертає метадані необхідні для ініціалізації інструментів обговорення.
discussiontoolspreview
Внутрішній. Попередній перегляд повідомлення на сторінці обговорення.
echopushsubscriptions
Внутрішній. Керувати пуш-підписками для поточного користувача.
editcheckreferenceurl
Внутрішній. Check the status of a URL for use as a reference.
fancycaptchareload
Внутрішній. Отримати нову FancyCaptcha.
growthinvalidateimagerecommendation
Внутрішній. Позначити рекомендацію зображення як недійсну.
growthinvalidatepersonalizedpraisesuggestion
Внутрішній. Анулює пропозицію гідного похвали підопічного в модулі персоналізованої похвали на панелі наставника
helppanelquestionposter
Внутрішній. Працювати із запитаннями поточного користувача, поставленими через довідкову панель.
jsondata
Внутрішній. Отримати локалізовані дані JSON.
oathvalidate
Внутрішній. Перевірити токен двофакторної автентифікації (OATH).
parser-migration
Внутрішній. Розпарсити сторінку з двома різними конфігураціями парсера.
readinglists
Внутрішній. Дії із записування у списках читання.
sanitize-mapdata
Внутрішній. Виконує перевірку даних для розширення Kartographer
scribunto-console
Внутрішній. Внутрішній модуль обробки XHR-запитів з консолі Scribunto.
securepollauth
Внутрішній. Allows a remote wiki to authenticate users before granting access to vote in the election.
stashedit
Внутрішній. Підготувати редагування в загальний кеш.
sxsave
Внутрішній. Зберегти чернетку перекладу розділу та зберегти паралельні корпуси
timedtext
Внутрішній. Надає контент синхронізованого тексту для використання в елементах <track>
ulslocalization
Внутрішній. Отримати локалізацію ULS вказаною мовою.
ulssetlang
Внутрішній. Оновити пріоритетну мову інтерфейсу для користувача.
visualeditor
Внутрішній. Повертає HTML5 для сторінки від сервісу Parsoid.
visualeditoredit
Внутрішній. Зберегти HTML5-сторінку у MediaWiki (конвертовану у вікітекст сервісом Parsoid).
wikimediaeventsblockededit
Внутрішній. Log information about blocked edit attempts
Одне з наступних значень: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, acquiretempusername, antispoof, block, centralauthtoken, centralnoticecdncacheupdatebanner, centralnoticechoicedata, centralnoticequerycampaign, changeauthenticationdata, changecontentmodel, checktoken, cirrus-config-dump, cirrus-mapping-dump, cirrus-profiles-dump, cirrus-settings-dump, clearhasmsg, clientlogin, communityconfigurationedit, compare, createaccount, createlocalaccount, cxdelete, cxsuggestionlist, cxtoken, delete, deleteglobalaccount, discussiontoolsedit, discussiontoolsfindcomment, discussiontoolsgetsubscriptions, discussiontoolssubscribe, discussiontoolsthank, echocreateevent, echomarkread, echomarkseen, echomute, edit, editmassmessagelist, emailuser, expandtemplates, featuredfeed, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, globalblock, globalpreferenceoverrides, globalpreferences, globaluserrights, growthmanagementorlist, growthmentordashboardupdatedata, growthsetmenteestatus, growthsetmentor, growthstarmentee, help, homepagequestionstore, imagerotate, import, jsonconfig, languagesearch, linkaccount, login, logout, managetags, massmessage, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setglobalaccountstatus, setnotificationtimestamp, setpagelanguage, shortenurl, sitematrix, spamblacklist, streamconfigs, strikevote, sxdelete, tag, templatedata, thank, titleblacklist, torblock, transcodereset, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, webapp-manifest, webauthn, bouncehandler, categorytree, cirrus-check-sanity, collection, cspreport, cxcheckunreviewed, cxpublish, cxpublishsection, cxsave, cxsplit, discussiontoolscompare, discussiontoolspageinfo, discussiontoolspreview, echopushsubscriptions, editcheckreferenceurl, fancycaptchareload, growthinvalidateimagerecommendation, growthinvalidatepersonalizedpraisesuggestion, helppanelquestionposter, jsondata, oathvalidate, parser-migration, readinglists, sanitize-mapdata, scribunto-console, securepollauth, stashedit, sxsave, timedtext, ulslocalization, ulssetlang, visualeditor, visualeditoredit, wikimediaeventsblockededit
Стандартно: help
format

Формат виводу.

json
Вивести дані у форматі JSON.
jsonfm
Вивести дані у форматі JSON (вивід відформатованого коду за допомогою HTML).
none
Нічого не виводити.
php
Виводити дані у форматі серіалізованого PHP.
phpfm
Виводити дані у форматі серіалізованого PHP (вивід відформатованого коду за допомогою HTML).
rawfm
Виводити дані, включно з елементами налагодження, у форматі JSON (вивід відформатованого коду за допомогою HTML).
xml
Виводити дані у форматі XML.
xmlfm
Вивести дані у форматі XML (вивід відформатованого коду за допомогою HTML).
Одне з наступних значень: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
Стандартно: jsonfm
maxlag

Максимальна затримка може використовуватися, коли MediaWiki інстальовано на реплікований кластер бази даних. Щоб зберегти дії, які спричиняють більшу затримку реплікації, цей параметр може змусити клієнт почекати, поки затримка реплікації не буде меншою за вказане значення. У випадку непомірної затримки, видається код помилки maxlag з повідомленням на зразок Очікування на $host: $lag секунд(и) затримки.
Див. Manual: Maxlag parameter для детальнішої інформації.

Тип: ціле число
smaxage

Встановити s-maxage HTTP кеш-контроль заголовок на стільки секунд. Помилки ніколи не кешуються.

Тип: ціле число
Значення має бути не меншим, ніж 0.
Стандартно: 0
maxage

Встановити max-age HTTP кеш-контроль заголовок на стільки секунд. Помилки ніколи не кешуються.

Тип: ціле число
Значення має бути не меншим, ніж 0.
Стандартно: 0
assert

Перевірити, що користувач увійшов у систему (у тому числі, можливо, тимчасовий користувач), якщо задано user, не увійшов у систему, якщо задано anon, або має права бота, якщо задано bot.

Одне з наступних значень: anon, bot, user
assertuser

Перевірити, чи поточний користувач є найменованим користувачем.

Тип: користувач, подано як ім'я користувача і Тимчасовий користувач
requestid

Будь-яке значення, вказане тут, буде включене у відповідь. Може використовуватися, щоб відрізняти запити.

servedby

Включити в результати ім'я хоста, який обробив запит.

Тип: логічний (подробиці)
curtimestamp

Включити в результат поточну мітку часу.

Тип: логічний (подробиці)
responselanginfo

Включати мови, які були використані для uselang і errorlang, у результат.

Тип: логічний (подробиці)
origin

При доступі до API з використанням крос-доменного AJAX-запиту (CORS), задайте параметру значення вихідного домена. Він має бути включений у будь-який попередній запит і таким чином мусить бути частиною запиту URI (не тіла POST).

Для автентифікованих запитів він повинен точно збігатися з одним із виходів у заголовку Origin, тобто бути заданим чимось на зразок https://uk.wikipedia.org або https://meta.wikimedia.org. Якщо цей параметр не збігається із заголовком Origin, повернеться помилка 403. Якщо цей параметр збігається із заголовком Origin і вихід знаходиться у дозволеному списку, буде встановлено заголовки Access-Control-Allow-Origin і Access-Control-Allow-Credentials.

Для неавтентифікованих запитів укажіть значення *. Це дасть встановлення заголовка Access-Control-Allow-Origin, але Access-Control-Allow-Credentials буде false і всі дані про користувача будуть заборонені.

uselang

Мова, що використовується для перекладу повідомлень. Список кодів можна видати на action=query&meta=siteinfo з siprop=languages або вказати user на використання поточного налаштування мови користувача, або вказати content на використання мови вмісту цієї вікі.

Стандартно: user
variant

Варіант мови. Працює лише, якщо базова мова підтримує конвертацію між варіантами.

errorformat

Формат, що використовується для виведення тексту попередження та помилки

plaintext
Вікітекст із вилученими тегами HTML та заміною сутностей.
wikitext
Нерозбірний вікітекст.
html
HTML
raw
Ключ повідомлення та параметри.
none
Немає тексту, лише коди помилок.
bc
Формат, що використовувався до MediaWiki 1.29. errorlang і errorsuselocal ігноруються.
Одне з наступних значень: bc, html, none, plaintext, raw, wikitext
Стандартно: bc
errorlang

Мова, яку використовувати для попереджень і помилок. action=query&meta=siteinfo із siprop=languages повертає список кодів мов, або ж вкажіть content, щоб використати мову вмісту поточної вікі, або вкажіть uselang, щоб використовувати те ж значення, що й параметр uselang.

Стандартно: uselang
errorsuselocal

Якщо задано, тексти помилок використовуватимуть локальні повідомлення з простору назв MediaWiki.

Тип: логічний (подробиці)
centralauthtoken

При доступі до API з використанням міждоменного AJAX-запиту (CORS), використовуйте це для автентифікації як поточний SUL-користувач. Використовуйте action=centralauthtoken у цій вікі, аби вивести токен, перш ніж здійснювати запит CORS. Кожен токен можна використати лише раз, через 10 секунд він стає недійсним. Це має бути включено в будь-який попередній запит, і, зважаючи на це, — у запитуваний URI (не в POST-тіло).

Приклади:
Довідка для головного модуля.
api.php?action=help [відкрити в пісочниці]
Уся довідка на одній сторінці.
api.php?action=help&recursivesubmodules=1 [відкрити в пісочниці]
Дозвіл:
apihighlimits
Використовувати вищі ліміти у запитах API (повільні запити: 500; швидкі запити: 5000). Ліміти для повільних запитів також застосовуються до багатозначних параметрів.
Надані: bot і sysop

Типи даних

Введені дані в MediaWiki мають бути в NFC-нормалізованому форматі UTF-8. MediaWiki може зробити спробу конвертувати дані в будь-якому іншому форматі, але це може спричинити невдачу деяких операцій (таких як редагування з перевірками MD5).

Параметри, які допускають два і більше значень, зазвичай подаються з цими значеннями, розділеними через вертикальну риску, напр., param=значення1|значення2 або param=значення1%7Cзначення2. Якщо ж значення повинно містити вертикальну риску, використовуйте U+001F (Unit Separator) як роздільник та додавайте до значення префікс U+001F, напр., param=%1Fзначення1%1Fзначення2.

Деякі типи параметрів у запитах до API потребують додаткових пояснень:

boolean

Логічні типи даних працюють як чекбокси з галочками в HTML: якщо параметр вказано, незалежно від значення, то він розцінюється як «true». Для значення «false», уникніть параметра цілковито.

expiry

Час може бути відносним (напр.,5 months чи 2 weeks) або абсолютним (напр., 2014-09-18T12:34:56Z). Щоб спостерігати за сторінкою безстроково, використовуйте infinite, indefinite, infinity, чи never.

timestamp

Мітки часу можна вказувати в різних форматах, див. формати вводу з бібліотеки міток часу, задокументовані на mediawiki.org, щоб дізнатись більше. Рекомендовано використовувати дату й час у форматі ISO 8601: 2001-01-15T14:56:00Z. Додатково можна використати рядок now для вказання поточної мітки часу.

Шаблонні параметри

Шаблонні параметри підтримують випадки, в яких модулю API необхідне значення для кожного значення якогось іншого параметра. Наприклад, якби був модуль API для запитів фруктів, у нього був би параметр fruits для зазначення, запит на які саме фрукти надсилається і шаблонний параметр {fruit}-quantity для зазначення, скільки саме кожного різновиду фруктів потрібно. Клієнт API, якому потрібні 1 яблуко, 5 бананів і 20 полуниць, таким чином, міг би надіслати запит у формі fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20.

Автор(и)

Розробники API:

  • Roan Kattouw (головний розробник вер. 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Yuri Astrakhan (творець, головний розробник вер. 2006 – вер. 2007)
  • Brad Jorsch (головний розробник 2013 – 2020)

Будь ласка, надсилайте свої коментарі, пропозиції та запитання на mediawiki-api@lists.wikimedia.org або подайте звіт про помилку за адресою https://phabricator.wikimedia.org/.