עזרה של MediaWiki API
זהו דף תיעוד של API שנוצר באופן אוטומטי.
תיעוד ודוגמאות: https://www.mediawiki.org/wiki/API
יחידה ראשית
- מקור: MediaWiki
- רישיון: GPL-2.0+
מצב: כל האפשרויות שמוצגות בדף הזה אמורות לעבוד, אבל ה־API עדיין בפיתוח פעיל, ויכול להשתנות בכל זמן. עשו מינוי לרשימת הדיוור mediawiki-api-announce להודעות על עדכונים.
בקשות שגויות: כשבקשות שגויות נשלחות ל־API, תישלח כותרת HTTP עם המפתח "MediaWiki-API-Error" ואז גם הערך של הכותרת וגם קוד השגיאה יוגדרו לאותו ערך. למידע נוסף ר' API: שגיאות ואזהרות.
בדיקה: לבדיקה קלה יותר של בקשות ר' Special:ApiSandbox.
- action
- איזו פעולה לבצע. 
- אחד מהערכים הבאים: 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, setpagelanguage, stashedit, tag, tokens, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch
- ברירת מחדל: help
- format
- תסדיר הפלט. 
- אחד מהערכים הבאים: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- ברירת מחדל: jsonfm
- maxlag
- שיהוי מרבי יכול לשמש כשמדיה־ויקי מותקנת בצביר עם מסד נתונים משוכפל. כדי לחסוך בפעולות שגורמות יותר שיהוי בשכפול אתר, הפרמטר הזה יכול לגרום ללקוח להמתין עד ששיהוי השכפול יורד מתחת לערך שצוין. במקרה של שיהוי מוגזם, קוד השגיאה maxlag מוחזר עם הודעה כמו Waiting for $host: $lag seconds lagged. 
 ר' מדריך למשתמש: פרמטר maxlag למידע נוסף.
- סוג: מספר שלם
- smaxage
- הגדרת כותרת בקרת מטמון HTTP - s-maxageלמספר כזה של שניות.
- סוג: מספר שלם
- ברירת מחדל: 0
- maxage
- הגדרת כותרת בקרת מטמון HTTP - max-ageלמספר כזה של שניות.
- סוג: מספר שלם
- ברירת מחדל: 0
- assert
- לוודא שהמשתמש נכנס אם זה מוגדר ל־user, או שיש לו הרשאת בוט אם זה bot. 
- אחד מהערכים הבאים: user, bot
- assertuser
- לוודא שהמשתמש הנוכחי הוא המשתמש ששמו ניתן. 
- סוג: שם משתמש
- requestid
- כל ערך שיינתן כאן ייכלל בתשובה. אפשר להשתמש בזה כדי להבדיל בין בקשות. 
- servedby
- לכלול את שם המארח ששירת את הבקשה בתוצאות. 
- סוג: בוליאני (פרטים)
- curtimestamp
- הכללת חותם־הזמן הנוכחי בתוצאה. 
- סוג: בוליאני (פרטים)
- responselanginfo
- לכלול את השפות שמשמשות ל־uselang ול־errorlang בתוצאה. 
- סוג: בוליאני (פרטים)
- origin
- בעת גישה ל־API עם בקשת AJAX חוצה מתחמים (CORS), יש להציב כאן את המתחם שהבקשה יוצאת ממנו. זה היה להיות כלול בכל בקשה מקדימה, ולכן הוא חייב להיות חלק מה־URI של הבקשה (לא גוף ה־POST). - עבור בקשות מאומתות, זה חייב להיות תואם במדויק לאחד המקורות בכותרת - Origin, כך שזה צריך להיות מוגדר למשהו כמו https://en.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
- errorformat
- תסדיר לשימוש בפלט טקסט אזהרות ושגיאות. - plaintext
- קוד ויקי ללא תגי HTML ועם ישויות מוחלפות.
- wikitext
- קוד ויקי לא מפוענח.
- html
- קוד HTML.
- raw
- מפתח הודעה ופרמטרים.
- none
- ללא פלט טקסט, רק הודעות השגיאה.
- bc
- התסדיר ששימש לפני מדיה־ויקי 1.29. התעלמות מ־errorlang ו־ errorsuselocal.
 
- אחד מהערכים הבאים: plaintext, wikitext, html, raw, none, bc
- ברירת מחדל: bc
- errorlang
- השפה שתשמש לאזהרות לשגיאות action=query&meta=siteinfo עם siprop=languages תחזיר רשימת קודי שפה, ואפשר גם לציין content כדי להשתמש בשפת התוכן של הוויקי הזה, או לציין uselang עם אותו הערך הפרמטר uselang. 
- ברירת מחדל: uselang
- errorsuselocal
- אם ניתן, הטקסטים של השגיאות ישתמשו בהודעות מותאמות מקומית ממרחב השם מדיה ויקי. 
- סוג: בוליאני (פרטים)
- עזרה ליחידה הראשית.
- api.php?action=help [פתיחה בארגז חול]
- כל העזרה בדף אחד.
- api.php?action=help&recursivesubmodules=1 [פתיחה בארגז חול]
סוגי נתונים
קלט למדיה־ויקי צריך להיות בקידוד UTF-8 מנורמל ב־NFC. מדיה־ויקי יכולה לנסות להמיר קלט אחר, אבל זה עלול לגרום לפעולות מסוימות (כגון עריכות עם בדיקות MD5) להיכשל.
חלק מסוגי הפרמטרים בבקשות API דורשים הסבר נוסף:
- בוליאני (boolean)
- פרמטרים בוליאניים עובדים כמו תיבות סימון של HTML: אם הפרמטר צוין, בלי קשר לערך שלו, הוא אמת (true). בשביל ערך שקר (false), יש להשמיט את הפרמטר לגמרי.
- חותם־זמן (timestamp)
- אפשר לכתוב חותמי־זמן במספר תסדירים. תאריך ושעה לפי ISO 8601 הוא הדבר המומלת. כל הזמנים מצוינים ב־ UTC, לא תהיה השפעה לשום אזור זמן שיצוין.
- תאריך ושעה לפי ISO 8601, 2001-01-15T14:56:00Z (לא חובה לכתוב פיסוק ו־Z)
- תאריך ושעה לפי ISO 8601 עם חלקי שנייה (שלא תהיה להם שום השפעה), 2001-01-15T14:56:00.00001Z (לא חובה לכתוב קווים מפרידים, נקודתיים ו־Z)
- תסדיר MediaWiki, 20010115145600
- תסדיר מספרי כללי, 2001-01-15 14:56:00 (לאזור זמן אופציונלי של GMT, +##, או -## אין השפעה)
- תסדיר EXIF, 2001:01:15 14:56:00
- תסדיר RFC 2822 (אפשר להשמיט את אזור הזמן), Mon, 15 Jan 2001 14:56:00
- תסדיר RFC 850 (אפשר להשמיט את אזור הזמן), Monday, 15-Jan-2001 14:56:00
- תסדיר C ctime, Mon Jan 15 14:56:00 2001
- שניות מאז 1970-01-01T00:00:00Z בתור מספר שלך בין 1 ל־13 (לא כולל 0)
- המחרוזת now
 
- מפריד ערכים מרובים חלופי
- פרמטרים שלוקחים ערכים מרובים בדרך־כלל נשלחים עם הערכים מופרדים באמצעות תו מקל, למשל param=value1|value2 או param=value1%7Cvalue2. אם הערך צריך להכיל את תו המקל, יש להשתמש ב־U+001F (מפריד יחידות) בתור המפריד וגם להוסיף לתחילת הערך U+001F, למשל param=%1Fvalue1%1Fvalue2.
קרדיטים
מפתחי ה־API:
- רואן קטאו (מפתח מוביל 2007–2009)
- ויקטור וסילייב
- בריאן טונג מין
- סאם ריד
- יורי אסטרחן (יוצר, מפתח מוביל מספטמבר 2006 עד ספטמבר 2007)
- בראד יורש (מפתח מוביל מאז 2013)
אנא שלחו הערות, הצעות ושאלות לכתובת mediawiki-api@lists.wikimedia.org או כתבו דיווח באג באתר https://phabricator.wikimedia.org.