Wiktionary Transform API

Parsoid wikitext ↔ HTML transforms and lint

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-action-api-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-expand-templates-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-extract-page-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-open-search-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-parse-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-parse-section-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-query-extracts-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-query-revisions-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-query-search-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-revision-page-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-revision-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/mediawiki-action-api-search-hit-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-action-api-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-expand-templates-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-extract-page-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-open-search-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-parse-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-parse-section-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-query-extracts-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-query-revisions-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-query-search-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-revision-page-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-revision-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/mediawiki-action-api-search-hit-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-content-urls-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-definition-entry-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-definition-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-html-transform-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-language-entry-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-lint-error-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-page-summary-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-revision-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-revision-metadata-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/rest-api-wikitext-transform-request-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-content-urls-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-definition-entry-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-definition-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-html-transform-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-language-entry-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-lint-error-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-page-summary-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-revision-item-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-revision-metadata-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/rest-api-wikitext-transform-request-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-file-metadata-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-history-count-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-history-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-latest-revision-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-license-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-page-source-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-page-with-html-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-revision-detail-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-search-page-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-schema/core-rest-api-search-response-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-file-metadata-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-history-count-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-history-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-latest-revision-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-license-info-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-page-source-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-page-with-html-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-revision-detail-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-search-page-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-structure/core-rest-api-search-response-structure.json

Other Resources

🔗
Sandbox
https://en.wiktionary.org/wiki/Special:ApiSandbox
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-ld/wiktionary-mediawiki-action-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-action-api-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-expand-templates-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-extract-page-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-open-search-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-parse-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-parse-section-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-query-extracts-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-query-revisions-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-query-search-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-revision-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-revision-page-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/mediawiki-action-api-search-hit-example.json
🔗
Sandbox
https://en.wiktionary.org/api/rest_v1/?doc
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-ld/wiktionary-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-content-urls-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-definition-entry-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-definition-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-html-transform-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-language-entry-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-lint-error-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-page-summary-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-revision-item-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-revision-metadata-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/rest-api-wikitext-transform-request-example.json
🔗
Sandbox
https://en.wiktionary.org/wiki/Special:RestSandbox
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/json-ld/wiktionary-core-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-file-metadata-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-history-count-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-history-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-latest-revision-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-license-info-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-page-source-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-page-with-html-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-revision-detail-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-search-page-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/wiktionary/refs/heads/main/examples/core-rest-api-search-response-example.json

OpenAPI Specification

wiktionary-transform-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wiktionary MediaWiki Core REST Definition Transform API
  description: The newer MediaWiki Core REST API, exposed per wiki at /w/rest.php. It offers a smaller, streamlined surface than the Action API for fetching page content, history, search, files, and revisions. On Wiktionary it serves the same content as the Action API in a more developer-friendly JSON shape. All content is CC BY-SA 4.0.
  version: 1.0.0
  termsOfService: https://foundation.wikimedia.org/wiki/Terms_of_Use
  contact:
    name: Wikimedia Foundation
    url: https://www.mediawiki.org/wiki/API:REST_API
  license:
    name: CC BY-SA 4.0
    url: https://creativecommons.org/licenses/by-sa/4.0/
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
servers:
- url: https://en.wiktionary.org/w/rest.php
  description: English Wiktionary Core REST endpoint
security:
- {}
- oauth2: []
tags:
- name: Transform
  description: Parsoid wikitext ↔ HTML transforms and lint
paths:
  /transform/wikitext/to/html/{title}:
    post:
      operationId: transformWikitextToHtml
      summary: Wiktionary Transform Wikitext to HTML
      description: Convert supplied wikitext to Parsoid HTML in the context of a page title. Rate-limited to 25 req/s (5 req/s with stash=true).
      tags:
      - Transform
      parameters:
      - name: title
        in: path
        required: true
        description: URL-encoded page title context.
        schema:
          type: string
        example: hello
      requestBody:
        required: true
        description: Wikitext payload to transform.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WikitextTransformRequest'
      responses:
        '200':
          description: Parsoid HTML.
          content:
            text/html:
              schema:
                type: string
                description: Parsoid HTML body.
        '403':
          description: Access restricted.
        '404':
          description: Page not found.
        '410':
          description: Page has been deleted.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /transform/html/to/wikitext/{title}/{revision}:
    post:
      operationId: transformHtmlToWikitext
      summary: Wiktionary Transform HTML to Wikitext
      description: Convert supplied Parsoid HTML back to wikitext for a given page and revision. Requires an If-Match ETag header. Rate-limited to 25 req/s.
      tags:
      - Transform
      parameters:
      - name: title
        in: path
        required: true
        description: URL-encoded page title.
        schema:
          type: string
        example: hello
      - name: revision
        in: path
        required: true
        description: Revision id to anchor the round-trip against.
        schema:
          type: string
        example: '12345'
      - name: If-Match
        in: header
        required: true
        description: ETag from the corresponding /page/html call.
        schema:
          type: string
      requestBody:
        required: true
        description: HTML payload to transform back to wikitext.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HtmlTransformRequest'
      responses:
        '200':
          description: Wikitext body.
          content:
            text/plain:
              schema:
                type: string
                description: Wikitext.
        '403':
          description: Access restricted.
        '404':
          description: Page not found.
        '410':
          description: Page has been deleted.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /transform/wikitext/to/lint/{title}:
    post:
      operationId: transformWikitextToLint
      summary: Wiktionary Transform Wikitext to Lint
      description: Lint supplied wikitext and return a list of structural and semantic issues. Experimental stability.
      tags:
      - Transform
      parameters:
      - name: title
        in: path
        required: true
        description: URL-encoded page title context.
        schema:
          type: string
        example: hello
      requestBody:
        required: true
        description: Wikitext payload to lint.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WikitextTransformRequest'
      responses:
        '200':
          description: Lint errors found in the wikitext.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LintError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    HtmlTransformRequest:
      title: HtmlTransformRequest
      type: object
      required:
      - html
      properties:
        html:
          type: string
          description: Parsoid HTML to convert back to wikitext.
          example: <section><h2>English</h2><p>A standard greeting.</p></section>
        scrub_wikitext:
          type: boolean
          description: Whether to clean up the resulting wikitext.
          example: true
    WikitextTransformRequest:
      title: WikitextTransformRequest
      type: object
      required:
      - wikitext
      properties:
        wikitext:
          type: string
          description: Wikitext content to transform.
          example: '==English==

            ===Interjection===

            # A standard greeting.'
        body_only:
          type: boolean
          description: If true, only return the body fragment instead of a full HTML document.
          example: true
        stash:
          type: boolean
          description: If true, server-side stash for later /transform calls.
          example: false
    LintError:
      title: LintError
      description: One Parsoid lint error found in supplied wikitext.
      type: object
      properties:
        type:
          type: string
          description: Lint error category.
          example: missing-end-tag
        dsr:
          type: array
          description: Source range [start, end, openWidth, closeWidth].
          items:
            type: integer
          example:
          - 0
          - 12
          - 0
          - 0
        templateInfo:
          type: object
          additionalProperties: true
          description: If the error originates inside a template, info about it.
        params:
          type: object
          additionalProperties: true
          description: Error-specific parameters.
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 access tokens issued via api.wikimedia.org.
      flows:
        authorizationCode:
          authorizationUrl: https://meta.wikimedia.org/w/rest.php/oauth2/authorize
          tokenUrl: https://meta.wikimedia.org/w/rest.php/oauth2/access_token
          scopes:
            basic: Basic read access to user identity