Undocumented fields and loose constraints on successful responses. Documentation gaps, not violations.
Hide 12 findings
GET /page/media-list/{title} > response 200 > application/json > /items/0/leadImage
response body at /items/0/leadImage: property "leadImage" is not documented (and 34 more like it)
GET /page/media-list/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/MediaList/1.1.0"
actual "leadImage"
- If the spec is the source of truth: Stop returning "leadImage" from GET /page/media-list/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "leadImage" to paths["/page/media-list/{title}"].get.responses["200"].content["application/json"].schema.properties["items"].items.properties.
GET /page/media-list/{title} > response 200 > application/json > /items/0/srcset
response body at /items/0/srcset: property "srcset" is not documented (and 30 more like it)
GET /page/media-list/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/MediaList/1.1.0"
actual "srcset"
- If the spec is the source of truth: Stop returning "srcset" from GET /page/media-list/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "srcset" to paths["/page/media-list/{title}"].get.responses["200"].content["application/json"].schema.properties["items"].items.properties.
GET /page/media-list/{title} > response 200 > application/json > /items/28/gallery_id
response body at /items/28/gallery_id: property "gallery_id" is not documented (and 3 more like it)
GET /page/media-list/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/MediaList/1.1.0"
actual "gallery_id"
- If the spec is the source of truth: Stop returning "gallery_id" from GET /page/media-list/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "gallery_id" to paths["/page/media-list/{title}"].get.responses["200"].content["application/json"].schema.properties["items"].items.properties.
GET /page/media-list/{title} > response 200 > application/json > /items/31/sources
response body at /items/31/sources: property "sources" is not documented
GET /page/media-list/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/MediaList/1.1.0"
actual "sources"
- If the spec is the source of truth: Stop returning "sources" from GET /page/media-list/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "sources" to paths["/page/media-list/{title}"].get.responses["200"].content["application/json"].schema.properties["items"].items.properties.
GET /page/media-list/{title} > response 200 > application/json > /items/34/audio_type
response body at /items/34/audio_type: property "audio_type" is not documented
GET /page/media-list/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/MediaList/1.1.0"
actual "audio_type"
- If the spec is the source of truth: Stop returning "audio_type" from GET /page/media-list/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "audio_type" to paths["/page/media-list/{title}"].get.responses["200"].content["application/json"].schema.properties["items"].items.properties.
GET /page/summary/{title} > response 200 > application/json > /content_urls
response body at /content_urls: property "content_urls" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "content_urls"
- If the spec is the source of truth: Stop returning "content_urls" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "content_urls" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.
GET /page/summary/{title} > response 200 > application/json > /description_source
response body at /description_source: property "description_source" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "description_source"
- If the spec is the source of truth: Stop returning "description_source" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "description_source" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.
GET /page/summary/{title} > response 200 > application/json > /namespace
response body at /namespace: property "namespace" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "namespace"
- If the spec is the source of truth: Stop returning "namespace" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "namespace" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.
GET /page/summary/{title} > response 200 > application/json > /revision
response body at /revision: property "revision" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "revision"
- If the spec is the source of truth: Stop returning "revision" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "revision" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.
GET /page/summary/{title} > response 200 > application/json > /tid
response body at /tid: property "tid" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "tid"
- If the spec is the source of truth: Stop returning "tid" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "tid" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.
GET /page/summary/{title} > response 200 > application/json > /type
response body at /type: property "type" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "type"
- If the spec is the source of truth: Stop returning "type" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "type" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.
GET /page/summary/{title} > response 200 > application/json > /wikibase_item
response body at /wikibase_item: property "wikibase_item" is not documented
GET /page/summary/Earth → 200 application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.5.0"
actual "wikibase_item"
- If the spec is the source of truth: Stop returning "wikibase_item" from GET /page/summary/{title} if it is not part of the contract.
- If the implementation is the source of truth: Add "wikibase_item" to paths["/page/summary/{title}"].get.responses["200"].content["application/json"].schema.properties.