[
  {
    "name": "create_media_math_check",
    "description": "Checks the supplied TeX formula for correctness and returns the\nnormalised formula representation as well as information about\nidentifiers. Available types are tex and inline-tex. The response\ncontains the `x-resource-location` header which can be used to retrieve\nthe render of the checked formula in one of the supported rendering\nformats. Just append the value of the header to `/media/math/{format}/`\nand perform a GET request against that URL.\n\nStability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "The input type of the given formula; can be tex or inline-tex"
        },
        "q": {
          "type": "string",
          "description": "The formula to check"
        }
      },
      "required": [
        "type",
        "q"
      ]
    },
    "x-dyph": {
      "method": "POST",
      "path": "/media/math/check/{type}",
      "effect": "writes",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "create_transform_html_from_to",
    "description": "Fetches the machine translation for the posted content from the source\nto the destination language.\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "from_lang": {
          "type": "string",
          "description": "The source language code"
        },
        "to_lang": {
          "type": "string",
          "description": "The target language code"
        },
        "html": {
          "type": "string",
          "description": "The HTML content to translate"
        }
      },
      "required": [
        "from_lang",
        "to_lang",
        "html"
      ]
    },
    "x-dyph": {
      "method": "POST",
      "path": "/transform/html/from/{from_lang}/to/{to_lang}",
      "effect": "writes",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "create_transform_html_from_to_by_from_lang_to_lang_provider",
    "description": "Fetches the machine translation for the posted content from the source\nto the destination language.\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "from_lang": {
          "type": "string",
          "description": "The source language code"
        },
        "to_lang": {
          "type": "string",
          "description": "The target language code"
        },
        "provider": {
          "type": "string",
          "description": "The machine translation provider id"
        },
        "html": {
          "type": "string",
          "description": "The HTML content to translate"
        }
      },
      "required": [
        "from_lang",
        "to_lang",
        "provider",
        "html"
      ]
    },
    "x-dyph": {
      "method": "POST",
      "path": "/transform/html/from/{from_lang}/to/{to_lang}/{provider}",
      "effect": "writes",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_feed_availability",
    "description": "Gets availability of featured feed content for the apps by wiki domain.\n\nStability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)",
    "inputSchema": {
      "type": "object",
      "properties": {}
    },
    "x-dyph": {
      "method": "GET",
      "path": "/feed/availability",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_media_math_formula",
    "description": "Returns the previously-stored formula via `/media/math/check/{type}` for\nthe given hash.\n\nStability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "hash": {
          "type": "string",
          "description": "The hash string of the previous POST data"
        }
      },
      "required": [
        "hash"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/media/math/formula/{hash}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_media_math_render",
    "description": "Given a request hash, renders a TeX formula into its mathematic\nrepresentation in the given format. When a request is issued to the\n`/media/math/check/{format}` POST endpoint, the response contains the\n`x-resource-location` header denoting the hash ID of the POST data. Once\nobtained, this endpoint has to be used to obtain the actual render.\n\nStability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "format": {
          "type": "string",
          "description": "The output format; can be svg or mml"
        },
        "hash": {
          "type": "string",
          "description": "The hash string of the previous POST data"
        }
      },
      "required": [
        "format",
        "hash"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/media/math/render/{format}/{hash}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_bytes_difference_absolute_aggregate",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of absolute bytes\ndifference sums. You can filter by editors-type (all-editor-types, anonymous, group-bot,\nname-bot, user) and page-type (all-page-types, content, non-content). You can choose\nbetween daily and monthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org. If you're interested in the aggregation of all projects, use\nall-projects.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "Time unit for the response data. As of today, supported values are daily and monthly\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/bytes-difference/absolute/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_bytes_difference_absolute_per_page",
    "description": "Given a Mediawiki project, a page-title prefixed with canonical namespace (for\ninstance 'User:Jimbo_Wales') and a date range, returns a timeseries of bytes\ndifference absolute sums. You can filter by editors-type (all-editor-types, anonymous,\ngroup-bot, name-bot, user). You can choose between daily and monthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "page-title": {
          "type": "string",
          "description": "The page-title to request absolute bytes-difference for. Should be prefixed with the\npage canonical namespace.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "Time unit for the response data. As of today, supported values are daily and monthly\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "page-title",
        "editor-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/bytes-difference/absolute/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_bytes_difference_net_aggregate",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of bytes difference net\nsums. You can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot,\nuser) and page-type (all-page-types, content or non-content). You can choose between\ndaily and monthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org. If you're interested in the aggregation of all projects, use\nall-projects.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "Time unit for the response data. As of today, supported values are daily and monthly\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/bytes-difference/net/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_bytes_difference_net_per_page",
    "description": "Given a Mediawiki project, a page-title prefixed with canonical namespace (for\ninstance 'User:Jimbo_Wales') and a date range, returns a timeseries of bytes\ndifference net sums. You can filter by editors-type (all-editor-types, anonymous,\ngroup-bot, name-bot, user). You can choose between daily and monthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "page-title": {
          "type": "string",
          "description": "The page-title to request net bytes-difference for. Should be prefixed with the\npage canonical namespace.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "Time unit for the response data. As of today, supported values are daily and monthly\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "page-title",
        "editor-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/bytes-difference/net/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edited_pages_aggregate",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of its edited-pages counts.\nYou can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user),\npage-type (all-page-types, content or non-content) or activity-level (1..4-edits,\n5..24-edits, 25..99-edits, 100..-edits). You can choose between daily and monthly\ngranularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff.  For projects like commons without language codes, use commons.wikimedia.\nFor projects like www.mediawiki.org, you can use that full string, or just use\nmediawiki or mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edited-pages in content\nnamespaces) or non-content (edited-pages in non-content namespaces). If you are\ninterested in edited-pages regardless of their page-type, use all-page-types.\n"
        },
        "activity-level": {
          "type": "string",
          "description": "If you want to filter by activity-level, use one of 1..4-edits, 5..24-edits,\n25..99-edits or 100..-edits. If you are interested in edited-pages regardless\nof their activity level, use all-activity-levels.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, supported values are\ndaily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "activity-level",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edited-pages/aggregate/{project}/{editor-type}/{page-type}/{activity-level}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edited_pages_new",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of its new pages counts.\nYou can filter by editor type (all-editor-types, anonymous, group-bot, name-bot, user)\nor page-type (all-page-types, content or non-content). You can choose between daily and\nmonthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff.  For projects like commons without language codes, use commons.wikimedia.\nFor projects like www.mediawiki.org, you can use that full string, or just use\nmediawiki or mediawiki.org. If you're interested in the aggregation of all\nprojects, use all-projects.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging\nto the bot group but having bot-like names) or user (registered account not in bot\ngroup nor having bot-like name). If you are interested in edits regardless of\ntheir editor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (new pages in content\nnamespaces) or non-content (new pages in non-content namespaces). If you are\ninterested in new-articles regardless of their page-type, use all-page-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, supported values are\ndaily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edited-pages/new/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edited_pages_top_by_absolute_bytes_difference",
    "description": "Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100\nedited-pages by absolute bytes-difference. You can filter by editor-type (all-editor-types,\nanonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content).\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top edited-pages, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top edited-pages, in MM format. If you want to get the top edited-pages of a whole month, the day parameter should be all-days."
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top edited-pages, in DD format, or all-days for a monthly value."
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edited-pages/top-by-absolute-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edited_pages_top_by_edits",
    "description": "Given a Mediawiki project and a date (day or month), returns a timeseries of the top\n100 edited-pages by edits count. You can filter by editor-type (all-editor-types,\nanonymous, group-bot, name-bot, user) or page-type (all-page-types, content or\nnon-content).\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top edited-pages, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top edited-pages, in MM format. If you want to get the top edited-pages of a whole month, the day parameter should be all-days."
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top edited-pages, in DD format, or all-days for a monthly value."
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edited-pages/top-by-edits/{project}/{editor-type}/{page-type}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edited_pages_top_by_net_bytes_difference",
    "description": "Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100\nedited-pages by net bytes-difference. You can filter by editor-type (all-editor-types,\nanonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content).\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top edited-pages, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top edited-pages, in MM format. If you want to get the top edited-pages of a whole month, the day parameter should be all-days."
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top edited-pages, in DD format, or all-days for a monthly value."
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edited-pages/top-by-net-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_editors_aggregate",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of its editors counts.\nYou can filter by editory-type (all-editor-types, anonymous, group-bot, name-bot, user),\npage-type (all-page-types, content or non-content) or activity-level (1..4-edits,\n5..24-edits, 25..99-edits or 100..-edits). You can choose between daily and monthly\ngranularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff.  For projects like commons without language codes, use commons.wikimedia.\nFor projects like www.mediawiki.org, you can use that full string, or just use\nmediawiki or mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging\nto the bot group but having bot-like names) or user (registered account not in bot\ngroup nor having bot-like name). If you are interested in edits regardless\nof their editor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits made in content\nnamespaces) or non-content (edits made in non-content namespaces). If you are\ninterested in editors regardless of their page-type, use all-page-types.\n"
        },
        "activity-level": {
          "type": "string",
          "description": "If you want to filter by activity-level, use one of 1..4-edits, 5..24-edits,\n25..99-edits or 100..-edits. If you are interested in editors regardless\nof their activity-level, use all-activity-levels.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, supported values are\ndaily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "activity-level",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/editors/aggregate/{project}/{editor-type}/{page-type}/{activity-level}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_editors_top_by_absolute_bytes_difference",
    "description": "Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100\neditors by absolute bytes-difference. You can filter by editor-type (all-editor-types,\nanonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content).\nThe user_text returned is either the mediawiki user_text if the user is registered, or\nnull if user is anonymous.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top editors, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top editors, in MM format. If you want to get the top editors of a whole month, the day parameter should be all-days."
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top editors, in DD format, or all-days for a monthly value."
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/editors/top-by-absolute-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_editors_top_by_edits",
    "description": "Given a Mediawiki project and a date (day or month), returns a timeseries of the top\n100 editors by edits count. You can filter by editor-type (all-editor-types,\nanonymous, group-bot, name-bot, user) or page-type (all-page-types, content or\nnon-content). The user_text returned is either the mediawiki user_text if the user is\nregistered, or null if user is anonymous.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top editors, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top editors, in MM format. If you want to get the top editors of a whole month, the day parameter should be all-days."
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top editors, in DD format, or all-days for a monthly value."
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/editors/top-by-edits/{project}/{editor-type}/{page-type}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_editors_top_by_net_bytes_difference",
    "description": "Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100\neditors by net bytes-difference. You can filter by editor-type (all-editor-types, anonymous,\ngroup-bot, name-bot, user) or page-type (all-page-types, content or non-content). The\nuser_text returned is either the mediawiki user_text if the user is registered, or\n\"Anonymous Editor\" if user is anonymous.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top editors, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top editors, in MM format. If you want to get the top editors of a whole month, the day parameter should be all-days."
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top editors, in DD format, or all-days for a monthly value."
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/editors/top-by-net-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edits_aggregate",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of edits counts.\nYou can filter by editors-type (all-editor-types, anonymous, bot, registered) and\npage-type (all-page-types, content or non-content). You can choose between daily and\nmonthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff.  For projects like commons without language codes, use commons.wikimedia.\nFor projects like www.mediawiki.org, you can use that full string, or just use\nmediawiki or mediawiki.org. If you're interested in the aggregation of\nall projects, use all-projects.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging\nto the bot group but having bot-like names) or user (registered account not in bot\ngroup nor having bot-like name). If you are interested in edits regardless\nof their editor-type, use all-editor-types.\n"
        },
        "page-type": {
          "type": "string",
          "description": "If you want to filter by page-type, use one of content (edits on pages in content\nnamespaces) or non-content (edits on pages in non-content namespaces). If you are\ninterested in edits regardless of their page-type, use all-page-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, supported values are\ndaily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "editor-type",
        "page-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edits/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_edits_per_page",
    "description": "Given a Mediawiki project, a page-title prefixed with its canonical namespace (for\ninstance 'User:Jimbo_Wales') and a date range, returns a timeseries of edit counts.\nYou can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot, user).\nYou can choose between daily and monthly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia. For\nprojects like www.mediawiki.org, you can use that full string, or just use mediawiki\nor mediawiki.org.\n"
        },
        "page-title": {
          "type": "string",
          "description": "The page-title to request edits for. It should be prefixed with canonical namespace.\nSpaces will be converted to underscores.\n"
        },
        "editor-type": {
          "type": "string",
          "description": "If you want to filter by editor-type, use one of anonymous, group-bot (registered\naccounts belonging to the bot group), name-bot (registered accounts not belonging to\nthe bot group but having bot-like names) or user (registered account not in bot group\nnor having bot-like name). If you are interested in edits regardless of their\neditor-type, use all-editor-types.\n"
        },
        "granularity": {
          "type": "string",
          "description": "Time unit for the response data. As of today, supported values are daily and monthly\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "page-title",
        "editor-type",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/edits/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_legacy_pagecounts_aggregate",
    "description": "Given a project and a date range, returns a timeseries of pagecounts.\nYou can filter by access site (mobile or desktop) and you can choose between monthly,\ndaily and hourly granularity as well.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 100 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff. For projects like commons without language codes, use commons.wikimedia.\n"
        },
        "access-site": {
          "type": "string",
          "description": "If you want to filter by access site, use one of desktop-site or mobile-site. If you are interested in pagecounts regardless of access site use all-sites."
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, the supported granularities for\nthis endpoint are hourly, daily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The timestamp of the first hour/day/month to include, in YYYYMMDDHH format."
        },
        "end": {
          "type": "string",
          "description": "The timestamp of the last hour/day/month to include, in YYYYMMDDHH format.\nIn hourly and daily granularities this value is inclusive, in the monthly granularity\nthis value is exclusive.\n"
        }
      },
      "required": [
        "project",
        "access-site",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/legacy/pagecounts/aggregate/{project}/{access-site}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_pageviews_aggregate",
    "description": "Given a date range, returns a timeseries of pageview counts. You can filter by project,\naccess method and/or agent type. You can choose between daily and hourly granularity\nas well.\n\n- Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable)\n- Rate limit: 100 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "If you want to filter by project, use the domain of any Wikimedia project,\nfor example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.\nIf you are interested in all pageviews regardless of project, use all-projects.\n"
        },
        "access": {
          "type": "string",
          "description": "If you want to filter by access method, use one of desktop, mobile-app or mobile-web.\nIf you are interested in pageviews regardless of access method, use all-access.\n"
        },
        "agent": {
          "type": "string",
          "description": "If you want to filter by agent type, use one of user or spider. If you are interested\nin pageviews regardless of agent type, use all-agents.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, the supported granularities for this\nendpoint are hourly, daily, and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The timestamp of the first hour/day/month to include, in YYYYMMDDHH format"
        },
        "end": {
          "type": "string",
          "description": "The timestamp of the last hour/day/month to include, in YYYYMMDDHH format"
        }
      },
      "required": [
        "project",
        "access",
        "agent",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/pageviews/aggregate/{project}/{access}/{agent}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_pageviews_per_article",
    "description": "Given a Mediawiki article and a date range, returns a daily timeseries of its pageview\ncounts. You can also filter by access method and/or agent type.\n\n- Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable)\n- Rate limit: 100 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "If you want to filter by project, use the domain of any Wikimedia project,\nfor example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.\n"
        },
        "access": {
          "type": "string",
          "description": "If you want to filter by access method, use one of desktop, mobile-app\nor mobile-web. If you are interested in pageviews regardless of access method,\nuse all-access.\n"
        },
        "agent": {
          "type": "string",
          "description": "If you want to filter by agent type, use one of user, bot or spider. If you are\ninterested in pageviews regardless of agent type, use all-agents.\n"
        },
        "article": {
          "type": "string",
          "description": "'The title of any article in the specified project. Any spaces should be replaced\nwith underscores. It also should be URI-encoded, so that non-URI-safe characters like\n%, / or ? are accepted. Example: Are_You_the_One%3F'.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, the only supported granularity for\nthis endpoint is daily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format"
        }
      },
      "required": [
        "project",
        "access",
        "agent",
        "article",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/pageviews/per-article/{project}/{access}/{agent}/{article}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_pageviews_top",
    "description": "Lists the 1000 most viewed articles for a given project and timespan (month or day).\nYou can filter by access method.\n\n- Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable)\n- Rate limit: 100 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "If you want to filter by project, use the domain of any Wikimedia project,\nfor example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.\n"
        },
        "access": {
          "type": "string",
          "description": "If you want to filter by access method, use one of desktop, mobile-app or mobile-web.\nIf you are interested in pageviews regardless of access method, use all-access.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top articles, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top articles, in MM format. If you want\nto get the top articles of a whole month, the day parameter should be all-days.\n"
        },
        "day": {
          "type": "string",
          "description": "The day of the date for which to retrieve top articles, in DD format."
        }
      },
      "required": [
        "project",
        "access",
        "year",
        "month",
        "day"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/pageviews/top/{project}/{access}/{year}/{month}/{day}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_pageviews_top_by_country",
    "description": "Lists the pageviews to this project, split by country of origin for a given month.\nBecause of privacy reasons, pageviews are given in a bucketed format, and countries\nwith less than 100 views do not get reported.\nStability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 100 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "If you want to filter by project, use the domain of any Wikimedia project,\nfor example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.\n"
        },
        "access": {
          "type": "string",
          "description": "If you want to filter by access method, use one of desktop, mobile-app or mobile-web.\nIf you are interested in pageviews regardless of access method, use all-access.\n"
        },
        "year": {
          "type": "string",
          "description": "The year of the date for which to retrieve top countries, in YYYY format."
        },
        "month": {
          "type": "string",
          "description": "The month of the date for which to retrieve top countries, in MM format.\n"
        }
      },
      "required": [
        "project",
        "access",
        "year",
        "month"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/pageviews/top-by-country/{project}/{access}/{year}/{month}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_registered_users_new",
    "description": "Given a Mediawiki project and a date range, returns a timeseries of its newly registered\nusers counts. You can choose between daily and monthly granularity. The newly registered\nusers value is computed with self-created users only, not auto-login created ones.\n\n- Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n- Rate limit: 25 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "The name of any Wikimedia project formatted like {language code}.{project name},\nfor example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped\noff.  For projects like commons without language codes, use commons.wikimedia.\nFor projects like www.mediawiki.org, you can use that full string, or just use\nmediawiki or mediawiki.org. If you're interested in the aggregation of\nall projects, use all.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, supported values are\ndaily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The date of the first day to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The date of the last day to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/registered-users/new/{project}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_metrics_unique_devices",
    "description": "Given a project and a date range, returns a timeseries of unique devices counts.\nYou need to specify a project, and can filter by accessed site (mobile or desktop).\nYou can choose between daily and hourly granularity as well.\n\n- Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable)\n- Rate limit: 100 req/s\n- License: Data accessible via this endpoint is available under the\n  [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).",
    "inputSchema": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "If you want to filter by project, use the domain of any Wikimedia project,\nfor example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.\n"
        },
        "access-site": {
          "type": "string",
          "description": "If you want to filter by accessed site, use one of desktop-site or mobile-site.\nIf you are interested in unique devices regardless of accessed site, use or all-sites.\n"
        },
        "granularity": {
          "type": "string",
          "description": "The time unit for the response data. As of today, the supported granularities\nfor this endpoint are daily and monthly.\n"
        },
        "start": {
          "type": "string",
          "description": "The timestamp of the first day/month to include, in YYYYMMDD format"
        },
        "end": {
          "type": "string",
          "description": "The timestamp of the last day/month to include, in YYYYMMDD format"
        }
      },
      "required": [
        "project",
        "access-site",
        "granularity",
        "start",
        "end"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/metrics/unique-devices/{project}/{access-site}/{granularity}/{start}/{end}",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_list_languagepairs",
    "description": "Fetches the list of language pairs the back-end service can translate\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {}
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/list/languagepairs/",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_list_pair",
    "description": "Fetches the list of tools that are available for the given pair of languages.\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "description": "The source language code"
        },
        "to": {
          "type": "string",
          "description": "The target language code"
        }
      },
      "required": [
        "from",
        "to"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/list/pair/{from}/{to}/",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_list_tool",
    "description": "Fetches the list of tools and all of the language pairs it can translate\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool category to list tools and language pairs for"
        }
      },
      "required": [
        "tool"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/list/tool/{tool}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_list_tool_by_tool_from",
    "description": "Fetches the list of tools and all of the language pairs it can translate\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool category to list tools and language pairs for"
        },
        "from": {
          "type": "string",
          "description": "The source language code"
        }
      },
      "required": [
        "tool",
        "from"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/list/tool/{tool}/{from}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_list_tool_by_tool_from_to",
    "description": "Fetches the list of tools and all of the language pairs it can translate\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool category to list tools and language pairs for"
        },
        "from": {
          "type": "string",
          "description": "The source language code"
        },
        "to": {
          "type": "string",
          "description": "The target language code"
        }
      },
      "required": [
        "tool",
        "from",
        "to"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/list/tool/{tool}/{from}/{to}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_word_from_to",
    "description": "Fetches the dictionary meaning of a word from a language and displays\nit in the target language.\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "from_lang": {
          "type": "string",
          "description": "The source language code"
        },
        "to_lang": {
          "type": "string",
          "description": "The target language code"
        },
        "word": {
          "type": "string",
          "description": "The word to lookup"
        }
      },
      "required": [
        "from_lang",
        "to_lang",
        "word"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/word/from/{from_lang}/to/{to_lang}/{word}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  },
  {
    "name": "get_transform_word_from_to_by_from_lang_to_lang_word_provider",
    "description": "Fetches the dictionary meaning of a word from a language and displays\nit in the target language.\n\nStability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)",
    "inputSchema": {
      "type": "object",
      "properties": {
        "from_lang": {
          "type": "string",
          "description": "The source language code"
        },
        "to_lang": {
          "type": "string",
          "description": "The target language code"
        },
        "word": {
          "type": "string",
          "description": "The word to lookup"
        },
        "provider": {
          "type": "string",
          "description": "The dictionary provider id"
        }
      },
      "required": [
        "from_lang",
        "to_lang",
        "word",
        "provider"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/transform/word/from/{from_lang}/to/{to_lang}/{word}/{provider}",
      "effect": "reads",
      "verification": "broken",
      "checkedAt": "2026-09-25"
    }
  }
]
