> For AI agents: the complete documentation index is available at https://types-mediawiki-response.pages.dev/zh/llms.txt, the full documentation bundle is available at https://types-mediawiki-response.pages.dev/zh/llms-full.txt.

# Interface: ApiPageInfo

Defined in: [core/query/info.ts:65](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L65)

Fields `prop=info` contributes to [ApiPage](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPage.md). [InfoPage](https://types-mediawiki-response.pages.dev/zh/api/core/InfoPage.md) projects
exactly this set.

## Extended by

- [`ApiPage`](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPage.md)

## Properties

### actions?

> `optional` **actions?**: `unknown`\[] | `Record`\<`string`, `boolean` | [`ApiActionPermission`](https://types-mediawiki-response.pages.dev/zh/api/core/ApiActionPermission.md)\[]>

Defined in: [core/query/info.ts:142](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L142)

Per-action permission test results, keyed by action name. Set by
`intestactions=`: `intestactionsdetail=boolean` yields a `boolean` per
action, while `full`/`quick` yields the array of blocking messages
(empty when the action is allowed). A PHP map, so an empty result
serializes as `[]`.

***

### associatedpage?

> `optional` **associatedpage?**: `string`

Defined in: [core/query/info.ts:218](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L218)

Related page: the talk page for a subject, or vice versa.
`inprop=associatedpage`; subject/talk namespaces only — not emitted on
special or `Media:` pages.

***

### canonicalurl?

> `optional` **canonicalurl?**: `string`

Defined in: [core/query/info.ts:233](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L233)

Canonical URL. `inprop=url`.

***

### contentmodel?

> `optional` **contentmodel?**: [`ContentModel`](https://types-mediawiki-response.pages.dev/zh/api/core/ContentModel.md)

Defined in: [core/query/info.ts:67](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L67)

Content model of the page's current revision.

***

### displaytitle?

> `optional` **displaytitle?**: `string`

Defined in: [core/query/info.ts:236](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L236)

HTML title used for display. `inprop=displaytitle`.

***

### editintro?

> `optional` **editintro?**: `Record`\<`string`, `string`>

Defined in: [core/query/info.ts:205](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L205)

Notices the edit form should show, keyed by message name (e.g.
`newarticletext`) with HTML values. Drawn from the whole edit-form intro
message set — `newarticletext`, `talkpagetext`, per-namespace editnotices,
`Editintro` pages, … — not only `MediaWiki:Editintro*` pages.
`inprop=editintro`; only for a single title per query.

#### Since

MediaWiki 1.41

***

### editurl?

> `optional` **editurl?**: `string`

Defined in: [core/query/info.ts:230](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L230)

Edit-page URL. `inprop=url`.

***

### fullurl?

> `optional` **fullurl?**: `string`

Defined in: [core/query/info.ts:227](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L227)

Fully-resolved canonical article URL. `inprop=url`.

***

### lastrevid?

> `optional` **lastrevid?**: `number`

Defined in: [core/query/info.ts:82](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L82)

Revision id of the latest revision. Existing pages only.

***

### length?

> `optional` **length?**: `number`

Defined in: [core/query/info.ts:85](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L85)

Length of the page content in bytes. Existing pages only.

***

### linkclasses?

> `optional` **linkclasses?**: `string`\[]

Defined in: [core/query/info.ts:250](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L250)

CSS classes to apply to links to this page (core marks redirects
`mw-redirect`; extensions may add more). `inprop=linkclasses`; emitted
for every requested page, `[]` when there is no class for it.

***

### new?

> `optional` **new?**: `true`

Defined in: [core/query/info.ts:94](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L94)

`true` when the page is in the new-pages list (no other page links to it and
it has a single revision). A [Flag](https://types-mediawiki-response.pages.dev/zh/api/core/Flag.md) — absent for established pages.

***

### notificationtimestamp?

> `optional` **notificationtimestamp?**: `string`

Defined in: [core/query/info.ts:158](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L158)

When the requesting user last saw the page. An **empty string** when never
visited (or when notifications are off), otherwise a timestamp.
`inprop=notificationtimestamp`.

***

### pagelanguage?

> `optional` **pagelanguage?**: `string`

Defined in: [core/query/info.ts:70](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L70)

Page language code, e.g. `en`.

***

### pagelanguagedir?

> `optional` **pagelanguagedir?**: `"ltr"` | `"rtl"`

Defined in: [core/query/info.ts:76](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L76)

Writing direction of the page language.

***

### pagelanguagehtmlcode?

> `optional` **pagelanguagehtmlcode?**: `string`

Defined in: [core/query/info.ts:73](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L73)

HTML `lang` attribute value for the page language.

***

### ~~preload?~~

> `optional` **preload?**: `string`

Defined in: [core/query/info.ts:176](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L176)

Text pre-filled into the edit box for a missing page, from the
`EditFormPreloadText` hook. `''` when the page exists.
`inprop=preload`.

#### Deprecated

since MediaWiki 1.41 in favour of [preloadcontent](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPage.md#preloadcontent), which also
reports the content model and format.

***

### preloadcontent?

> `optional` **preloadcontent?**: [`ApiPreloadedContent`](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPreloadedContent.md)

Defined in: [core/query/info.ts:186](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L186)

Content the edit form would preload: for a page that does not exist yet,
or for an existing page when a new section would be added
(`preloadnewsection=1`). `inprop=preloadcontent`; only for a single
title/revision per query.

#### Since

MediaWiki 1.41

***

### preloadisdefault?

> `optional` **preloadisdefault?**: `boolean`

Defined in: [core/query/info.ts:194](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L194)

Whether [preloadcontent](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPage.md#preloadcontent) is identical to the page's default content, in
which case saving it would be a no-op. `inprop=preloadcontent`.

#### Since

MediaWiki 1.41

***

### protection?

> `optional` **protection?**: [`ApiPageProtection`](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPageProtection.md)\[]

Defined in: [core/query/info.ts:208](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L208)

Protection entries; empty array when unrestricted. `inprop=protection`.

***

### ~~readable?~~

> `optional` **readable?**: `boolean`

Defined in: [core/query/info.ts:166](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L166)

Whether the current user may read the page. A real `boolean` (`false` included).
`inprop=readable`.

#### Deprecated

since MediaWiki 1.32; use `intestactions=read` instead.

***

### redirect?

> `optional` **redirect?**: `true`

Defined in: [core/query/info.ts:88](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L88)

`true` when the page is a redirect. A [Flag](https://types-mediawiki-response.pages.dev/zh/api/core/Flag.md) (appears only when true).

***

### restrictiontypes?

> `optional` **restrictiontypes?**: `string`\[]

Defined in: [core/query/info.ts:211](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L211)

Restriction types that apply, e.g. `edit`, `move`, `create`. `inprop=protection`.

***

### subjectid?

> `optional` **subjectid?**: `number`

Defined in: [core/query/info.ts:224](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L224)

Page id of the associated subject page. `inprop=subjectid` (talk pages only).

***

### talkid?

> `optional` **talkid?**: `number`

Defined in: [core/query/info.ts:221](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L221)

Page id of the associated talk page. `inprop=talkid` (subject pages only).

***

### touched?

> `optional` **touched?**: `string`

Defined in: [core/query/info.ts:79](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L79)

When the page was last touched (cache/link invalidation), not last edited. Existing pages only.

***

### varianttitles?

> `optional` **varianttitles?**: `Record`\<`string`, `string`>

Defined in: [core/query/info.ts:243](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L243)

Display titles per language variant, keyed by variant code (e.g.
`zh-hans`). Also populated on wikis without language variants, where the
single key is the content language itself. `inprop=varianttitles`.

***

### visitingwatchers?

> `optional` **visitingwatchers?**: `number`

Defined in: [core/query/info.ts:116](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L116)

Number of watchers who have visited the page since their notification
timestamp. Same withholding rule as [watchers](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPage.md#watchers).
`inprop=visitingwatchers`.

***

### watched?

> `optional` **watched?**: `boolean`

Defined in: [core/query/info.ts:101](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L101)

Whether the requesting user watches the page. A **real `boolean`** (`false` is
returned), unlike most watch markers. `inprop=watched`; requires being
logged in with the `viewmywatchlist` right.

***

### watchers?

> `optional` **watchers?**: `number`

Defined in: [core/query/info.ts:109](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L109)

Number of users watching the page. For callers without the `unwatchedpages`
right the count is withheld entirely while it stays below
`$wgUnwatchedPageThreshold`; `0` is only reported to callers with that
right. `inprop=watchers`.

***

### watchlistexpiry?

> `optional` **watchlistexpiry?**: `string`

Defined in: [core/query/info.ts:123](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L123)

When the requesting user's watch of this page expires. Requires
`inprop=watched`; present only when the page is watched **with** an
expiry (`action=watch&expiry=`).

***

### watchlistlabels?

> `optional` **watchlistlabels?**: [`ApiWatchlistLabel`](https://types-mediawiki-response.pages.dev/zh/api/core/ApiWatchlistLabel.md)\[]

Defined in: [core/query/info.ts:133](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L133)

Watchlist labels attached to this page by the requesting user.
`inprop=watchlistlabels`; requires being logged in with the
`viewmywatchlist` right (like [watched](https://types-mediawiki-response.pages.dev/zh/api/core/ApiPage.md#watched)) and
`$wgEnableWatchlistLabels`, and is `[]` when the page has none.

#### Since

MediaWiki 1.46

***

### wouldautocreate?

> `optional` **wouldautocreate?**: `unknown`\[] | `Record`\<`string`, `boolean`>

Defined in: [core/query/info.ts:151](https://github.com/BearBin1215/types-mediawiki-response/blob/c1e25ea2ef2684b43c79e05d6e0dd36e33fbc9a3/src/core/query/info.ts#L151)

Whether a temporary account would be auto-created for each tested action.
`intestactionsautocreate=1` alongside `intestactions=`. A PHP map, so an
empty result serializes as `[]`.

#### Since

MediaWiki 1.41
