Wikimedia

Wikipedia and Wikimedia projects API

api.wikimedia.org ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
35
Schemas
63
Updated
3 days ago
Reference reference wikipedia knowledge
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://wikimedia.org/api/rest_v1

Authentication

apiKey

Endpoints

Clear filters

Math 1 endpoints

POST /media/math/check/{type}

Checks the supplied TeX formula for correctness and returns the normalised formula representation as well as information about identifiers. Available types are tex and inline-tex. The response contains the `x-resource-location` header which can be used to retrieve the render of the checked formula in one of the supported rendering formats. Just append the value of the header to `/media/math/{format}/` and perform a GET request against that URL. Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable).

operationId: Math_checkFormula

Parameters

Name In Required Type Description
type path required string The input type of the given formula; can be tex or inline-tex

Request Body

{
  "content": {
    "application/x-www-form-urlencoded": {
      "schema": {
        "$ref": "#/components/schemas/MathCheckFormulaRequest"
      }
    }
  },
  "required": true
}

Responses

default Error
200 Information about the checked formula
400 Invalid type
POST /media/math/check/{type}

Transform 2 endpoints

POST /transform/html/from/{from_lang}/to/{to_lang}

Fetches the machine translation for the posted content from the source to the destination language. Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_contentMachineTranslate

Parameters

Name In Required Type Description
from_lang path required string The source language code
to_lang path required string The target language code

Request Body

{
  "$ref": "#/components/requestBodies/postTransformHtmlFrom_fromLang_to_toLang_"
}

Responses

default Error
200 The translated content
POST /transform/html/from/{from_lang}/to/{to_lang}
POST /transform/html/from/{from_lang}/to/{to_lang}/{provider}

Fetches the machine translation for the posted content from the source to the destination language. Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_contentMachineTranslate

Parameters

Name In Required Type Description
from_lang path required string The source language code
to_lang path required string The target language code
provider path required string The machine translation provider id

Request Body

{
  "$ref": "#/components/requestBodies/postTransformHtmlFrom_fromLang_to_toLang_"
}

Responses

default Error
200 The translated content
POST /transform/html/from/{from_lang}/to/{to_lang}/{provider}

Schemas

object BytesDifferenceDataGetAbsoluteAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BytesDifferenceDataGetAbsolutePerPageResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BytesDifferenceDataGetNetAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BytesDifferenceDataGetSumNetTextBytesDifferencePerPageResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetNewPagesCountsForProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetTopByAbsoluteBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetTopByEditsCountResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetTopByNetBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetEditorsCountsForProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetTopByAbsoluteBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetTopByNetBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetTopEditorsByEditsCountResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditsDataGetEditsCountsForProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditsDataGetPageEditCountsResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object LegacyDataGetPagecountsAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MathCheckFormulaRequest
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "The formula to check"
    }
  }
}
object PageviewsDataGetPageviewCountsByArticleDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object PageviewsDataGetPageviewCountsByProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object PageviewsDataListByCountryAndAccessResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object PageviewsDataListMostViewedArticlesByProjectAndTimespanResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object RegisteredUsersDataGetNewUserCountsByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object TransformContentMachineTranslateRequest
{
  "type": "object",
  "required": [
    "html"
  ],
  "properties": {
    "html": {
      "type": "string",
      "x-textarea": true,
      "description": "The HTML content to translate"
    }
  }
}
object TransformGetListToolLanguagePairsResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object TransformToolLanguagePairsList200Response
{
  "type": "object",
  "example": {},
  "properties": {}
}
object TransformToolLanguagePairsListResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object UniqueDevicesDataGetByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object absolute-bytes-difference
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "abs_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object absolute-bytes-difference-per-editor
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "abs_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "user-text": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object absolute-bytes-difference-per-page
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "abs_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-title": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object availability
{
  "type": "object",
  "required": [
    "todays_featured_article",
    "most_read",
    "picture_of_the_day",
    "in_the_news",
    "on_this_day"
  ],
  "properties": {
    "most_read": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "in_the_news": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "on_this_day": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "picture_of_the_day": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "todays_featured_article": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    }
  }
}
object by-country
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "year": {
            "type": "string"
          },
          "month": {
            "type": "string"
          },
          "access": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "countries": {
            "type": "array",
            "items": {
              "properties": {
                "rank": {
                  "type": "integer",
                  "format": "int32"
                },
                "views": {
                  "type": "integer",
                  "format": "int64"
                },
                "country": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
object cx_dict
{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "description": "the original word to look up"
    },
    "translations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "info": {
            "type": "string",
            "description": "extra information about the phrase"
          },
          "phrase": {
            "type": "string",
            "description": "the translated phrase"
          },
          "sources": {
            "type": "string",
            "description": "the source dictionary used for the translation"
          }
        }
      },
      "description": "the translations found"
    }
  }
}
object cx_languagepairs
{
  "type": "object",
  "properties": {
    "source": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "one source language"
      },
      "description": "the list of available source languages"
    },
    "target": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "one destination language"
      },
      "description": "the list of available destination languages"
    }
  }
}
object cx_list_pairs_for_tool
{
  "type": "object"
}
object cx_list_tools
{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "the tool available"
      },
      "description": "the list of tools available for the given language pair"
    }
  }
}
object cx_mt
{
  "type": "object",
  "properties": {
    "contents": {
      "type": "string",
      "description": "the translated content"
    }
  }
}
object edited-pages
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "edited_pages": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          },
          "activity-level": {
            "type": "string"
          }
        }
      }
    }
  }
}
object editors
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "editors": {
                  "type": "integer",
                  "format": "int32"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          },
          "activity-level": {
            "type": "string"
          }
        }
      }
    }
  }
}
object edits
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "edits": {
                  "type": "integer",
                  "format": "int64"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object edits-per-editor
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "edits": {
                  "type": "integer",
                  "format": "int64"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "user-text": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object edits-per-page
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "edits": {
                  "type": "integer",
                  "format": "int64"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-title": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object listing
{
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "The result format for listings"
}
object net-bytes-difference
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "net_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object net-bytes-difference-per-editor
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "net_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "user-text": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object net-bytes-difference-per-page
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "net_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-title": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object new-pages
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "new_pages": {
                  "type": "integer",
                  "format": "int32"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object new-registered-users
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "new_registered_users": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object originalimage
{
  "type": "object",
  "required": [
    "source",
    "width",
    "height"
  ],
  "properties": {
    "width": {
      "type": "integer",
      "description": "Original image width"
    },
    "height": {
      "type": "integer",
      "description": "Original image height"
    },
    "source": {
      "type": "string",
      "description": "Original image URI"
    }
  }
}
object pagecounts-project
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "access-site": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object pageview-article
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "agent": {
            "type": "string"
          },
          "views": {
            "type": "integer",
            "format": "int64"
          },
          "access": {
            "type": "string"
          },
          "article": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object pageview-project
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "agent": {
            "type": "string"
          },
          "views": {
            "type": "integer",
            "format": "int64"
          },
          "access": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object pageview-tops
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "day": {
            "type": "string"
          },
          "year": {
            "type": "string"
          },
          "month": {
            "type": "string"
          },
          "access": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "articles": {
            "type": "array",
            "items": {
              "properties": {
                "rank": {
                  "type": "integer",
                  "format": "int32"
                },
                "views": {
                  "type": "integer",
                  "format": "int64"
                },
                "article": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
object problem
{
  "required": [
    "type"
  ],
  "properties": {
    "uri": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "method": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    }
  }
}
object summary
{
  "type": "object",
  "required": [
    "title",
    "extract",
    "lang",
    "dir"
  ],
  "properties": {
    "dir": {
      "type": "string",
      "example": "ltr",
      "description": "The page language direction code"
    },
    "lang": {
      "type": "string",
      "example": "en",
      "description": "The page language code"
    },
    "title": {
      "type": "string",
      "description": "The page title"
    },
    "pageid": {
      "type": "integer",
      "description": "The page ID"
    },
    "extract": {
      "type": "string",
      "description": "First several sentences of an article in plain text"
    },
    "thumbnail": {
      "$ref": "#/components/schemas/thumbnail"
    },
    "timestamp": {
      "type": "string",
      "example": "1970-01-01T00:00:00.000Z",
      "description": "The time when the page was last editted in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format"
    },
    "coordinates": {
      "type": "object",
      "required": [
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "description": "The latitude"
        },
        "lon": {
          "type": "number",
          "description": "The longitude"
        }
      },
      "description": "The coordinates of the item"
    },
    "description": {
      "type": "string",
      "example": "American poet",
      "description": "Wikidata description for the page"
    },
    "displaytitle": {
      "type": "string",
      "description": "The page title how it should be shown to the user"
    },
    "extract_html": {
      "type": "string",
      "description": "First several sentences of an article in simple HTML format"
    },
    "originalimage": {
      "$ref": "#/components/schemas/originalimage"
    }
  }
}
object thumbnail
{
  "type": "object",
  "required": [
    "source",
    "width",
    "height"
  ],
  "properties": {
    "width": {
      "type": "integer",
      "description": "Thumbnail width"
    },
    "height": {
      "type": "integer",
      "description": "Thumnail height"
    },
    "source": {
      "type": "string",
      "description": "Thumbnail image URI"
    }
  }
}
object top-edited-pages-by-abs-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "page_title": {
                        "type": "string"
                      },
                      "abs_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-edited-pages-by-edits
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "edits": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "page_title": {
                        "type": "string"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-edited-pages-by-net-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "page_title": {
                        "type": "string"
                      },
                      "net_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-editors-by-abs-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "user_text": {
                        "type": "string"
                      },
                      "abs_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-editors-by-edits
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "edits": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "user_text": {
                        "type": "string"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-editors-by-net-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "user_text": {
                        "type": "string"
                      },
                      "net_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object unique-devices
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "devices": {
            "type": "integer",
            "format": "int64"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "access-site": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}