spec gaps
Read against matrix-spec at 0dfc6917367e, the pin
scripts/openapi-check.py validates responses against. An operation is
served when the router registers its method and path; the placeholders
are compared by position, not by name. Bumping the pin rewrites this file,
and the diff is the work the release brought.
Client-Server API
134 of 166 operations served.
Not served, in the spec since before v1.1
8 of these are deprecated upstream and can stay unserved.
GET /_matrix/client/v3/account/3pid—administrative_contact.yamlPOST /_matrix/client/v3/account/3pid(deprecated) —administrative_contact.yamlPOST /_matrix/client/v3/account/3pid/add—administrative_contact.yamlPOST /_matrix/client/v3/account/3pid/bind—administrative_contact.yamlPOST /_matrix/client/v3/account/3pid/delete—administrative_contact.yamlPOST /_matrix/client/v3/account/3pid/email/requestToken—administrative_contact.yamlPOST /_matrix/client/v3/account/3pid/msisdn/requestToken—administrative_contact.yamlPOST /_matrix/client/v3/account/3pid/unbind—administrative_contact.yamlPOST /_matrix/client/v3/account/password/email/requestToken—password_management.yamlPOST /_matrix/client/v3/account/password/msisdn/requestToken—password_management.yamlPUT /_matrix/client/v3/directory/list/appservice/{networkId}/{roomId}—appservice_room_directory.yamlGET /_matrix/client/v3/events(deprecated) —old_sync.yamlGET /_matrix/client/v3/events—peeking_events.yamlGET /_matrix/client/v3/events/{eventId}(deprecated) —old_sync.yamlGET /_matrix/client/v3/initialSync(deprecated) —old_sync.yamlGET /_matrix/client/v3/pushrules/global/—pushrules.yamlPOST /_matrix/client/v3/register/email/requestToken—registration.yamlPOST /_matrix/client/v3/register/msisdn/requestToken—registration.yamlGET /_matrix/client/v3/rooms/{roomId}/initialSync—room_initial_sync.yamlGET /_matrix/client/v3/thirdparty/location—third_party_lookup.yamlGET /_matrix/client/v3/thirdparty/location/{protocol}—third_party_lookup.yamlGET /_matrix/client/v3/thirdparty/protocol/{protocol}—third_party_lookup.yamlGET /_matrix/client/v3/thirdparty/protocols—third_party_lookup.yamlGET /_matrix/client/v3/thirdparty/user—third_party_lookup.yamlGET /_matrix/client/v3/thirdparty/user/{protocol}—third_party_lookup.yamlGET /_matrix/media/v3/download/{serverName}/{mediaId}(deprecated) —content-repo.yamlGET /_matrix/media/v3/download/{serverName}/{mediaId}/{fileName}(deprecated) —content-repo.yamlGET /_matrix/media/v3/preview_url(deprecated) —content-repo.yamlGET /_matrix/media/v3/thumbnail/{serverName}/{mediaId}(deprecated) —content-repo.yaml
Not served, added in v1.1
GET /_matrix/client/v3/login/sso/redirect—sso_login_redirect.yamlGET /_matrix/client/v3/login/sso/redirect/{idpId}—sso_login_redirect.yaml
Not served, added in v1.18
GET /.well-known/matrix/policy_server—policy_server.yaml
Served, but deprecated upstream
GET /_matrix/media/v3/config—content-repo.yaml
Server-Server API
32 of 36 operations served.
Not served, in the spec since before v1.1
PUT /_matrix/federation/v1/3pid/onbind—third_party_invite.yamlPUT /_matrix/federation/v1/exchange_third_party_invite/{roomId}—third_party_invite.yamlPUT /_matrix/federation/v1/invite/{roomId}/{eventId}—invites-v1.yamlPOST /_matrix/policy/v1/sign—room_policy.yaml
Served beyond the spec at this pin
87 routes the pinned spec does not define: MSC surfaces under
unstable/, the admin and MAS-compatibility APIs, and stable spellings
newer than the pin. Each MSC route must be accounted for in
contrib/msc/ledger.toml; scripts/msc-ledger.py --check enforces that.
/.well-known/openid-configuration/_matrix/client/unstable/im.nheko.summary/rooms/{}/summary/_matrix/client/unstable/org.matrix.msc2965/auth_metadata/_matrix/client/unstable/org.matrix.msc3814.v1/dehydrated_device/_matrix/client/unstable/org.matrix.msc3814.v1/dehydrated_device/{}/events/_matrix/client/unstable/org.matrix.msc4140/delayed_events/_matrix/client/unstable/org.matrix.msc4140/delayed_events/{}/_matrix/client/unstable/org.matrix.msc4143/rtc/transports/_matrix/client/unstable/org.matrix.simplified_msc3575/sync/_matrix/client/v1/rtc/transports/_matrix/client/v3/rooms/{}/state/{}/_matrix/federation/v1/send_join/{}/{}/_matrix/federation/v1/send_leave/{}/{}/_spindle/admin/v1/audit/_spindle/admin/v1/event_reports/_spindle/admin/v1/event_reports/{}/_spindle/admin/v1/registration_tokens/_spindle/admin/v1/registration_tokens/new/_spindle/admin/v1/registration_tokens/{}/_spindle/admin/v1/rooms/_spindle/admin/v1/rooms/{}/_spindle/admin/v1/rooms/{}/make_room_admin/_spindle/admin/v1/rooms/{}/members/_spindle/admin/v1/rooms/{}/purge_history/_spindle/admin/v1/rooms/{}/state/_spindle/admin/v1/rooms/{}/state_at/_spindle/admin/v1/rooms/{}/timeline/_spindle/admin/v1/send_server_notice/_spindle/admin/v1/server_version/_spindle/admin/v1/users/_spindle/admin/v1/users/{}/_spindle/admin/v1/users/{}/deactivate/_spindle/admin/v1/users/{}/devices/_spindle/admin/v1/users/{}/devices/{}/_spindle/admin/v1/users/{}/joined_rooms/_spindle/admin/v1/users/{}/reset_password/_spindle/admin/v1/whois/{}/_spindle/rtc/livekit/sfu/get/_synapse/admin/v1/audit/_synapse/admin/v1/deactivate/{}/_synapse/admin/v1/event_reports/_synapse/admin/v1/event_reports/{}/_synapse/admin/v1/purge_history/{}/_synapse/admin/v1/registration_tokens/_synapse/admin/v1/registration_tokens/new/_synapse/admin/v1/registration_tokens/{}/_synapse/admin/v1/reset_password/{}/_synapse/admin/v1/rooms/_synapse/admin/v1/rooms/{}/_synapse/admin/v1/rooms/{}/make_room_admin/_synapse/admin/v1/rooms/{}/members/_synapse/admin/v1/rooms/{}/purge_history/_synapse/admin/v1/rooms/{}/state/_synapse/admin/v1/rooms/{}/state_at/_synapse/admin/v1/rooms/{}/timeline/_synapse/admin/v1/send_server_notice/_synapse/admin/v1/server_version/_synapse/admin/v1/users/_synapse/admin/v1/users/{}/_synapse/admin/v1/users/{}/deactivate/_synapse/admin/v1/users/{}/devices/_synapse/admin/v1/users/{}/devices/{}/_synapse/admin/v1/users/{}/joined_rooms/_synapse/admin/v1/users/{}/reset_password/_synapse/admin/v1/whois/{}/_synapse/admin/v2/users/_synapse/admin/v2/users/{}/_synapse/admin/v2/users/{}/delete_devices/_synapse/admin/v2/users/{}/devices/_synapse/mas/allow_cross_signing_reset/_synapse/mas/delete_device/_synapse/mas/delete_user/_synapse/mas/is_localpart_available/_synapse/mas/provision_user/_synapse/mas/query_user/_synapse/mas/reactivate_user/_synapse/mas/set_displayname/_synapse/mas/sync_devices/_synapse/mas/unset_displayname/_synapse/mas/update_device_display_name/_synapse/mas/upsert_device/health/oauth2/authorize/oauth2/registration/oauth2/revoke/oauth2/token/ready