Skip to main content

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.yaml
  • POST /_matrix/client/v3/account/3pid (deprecated) — administrative_contact.yaml
  • POST /_matrix/client/v3/account/3pid/add — administrative_contact.yaml
  • POST /_matrix/client/v3/account/3pid/bind — administrative_contact.yaml
  • POST /_matrix/client/v3/account/3pid/delete — administrative_contact.yaml
  • POST /_matrix/client/v3/account/3pid/email/requestToken — administrative_contact.yaml
  • POST /_matrix/client/v3/account/3pid/msisdn/requestToken — administrative_contact.yaml
  • POST /_matrix/client/v3/account/3pid/unbind — administrative_contact.yaml
  • POST /_matrix/client/v3/account/password/email/requestToken — password_management.yaml
  • POST /_matrix/client/v3/account/password/msisdn/requestToken — password_management.yaml
  • PUT /_matrix/client/v3/directory/list/appservice/{networkId}/{roomId} — appservice_room_directory.yaml
  • GET /_matrix/client/v3/events (deprecated) — old_sync.yaml
  • GET /_matrix/client/v3/events — peeking_events.yaml
  • GET /_matrix/client/v3/events/{eventId} (deprecated) — old_sync.yaml
  • GET /_matrix/client/v3/initialSync (deprecated) — old_sync.yaml
  • GET /_matrix/client/v3/pushrules/global/ — pushrules.yaml
  • POST /_matrix/client/v3/register/email/requestToken — registration.yaml
  • POST /_matrix/client/v3/register/msisdn/requestToken — registration.yaml
  • GET /_matrix/client/v3/rooms/{roomId}/initialSync — room_initial_sync.yaml
  • GET /_matrix/client/v3/thirdparty/location — third_party_lookup.yaml
  • GET /_matrix/client/v3/thirdparty/location/{protocol} — third_party_lookup.yaml
  • GET /_matrix/client/v3/thirdparty/protocol/{protocol} — third_party_lookup.yaml
  • GET /_matrix/client/v3/thirdparty/protocols — third_party_lookup.yaml
  • GET /_matrix/client/v3/thirdparty/user — third_party_lookup.yaml
  • GET /_matrix/client/v3/thirdparty/user/{protocol} — third_party_lookup.yaml
  • GET /_matrix/media/v3/download/{serverName}/{mediaId} (deprecated) — content-repo.yaml
  • GET /_matrix/media/v3/download/{serverName}/{mediaId}/{fileName} (deprecated) — content-repo.yaml
  • GET /_matrix/media/v3/preview_url (deprecated) — content-repo.yaml
  • GET /_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.yaml
  • GET /_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.yaml
  • PUT /_matrix/federation/v1/exchange_third_party_invite/{roomId} — third_party_invite.yaml
  • PUT /_matrix/federation/v1/invite/{roomId}/{eventId} — invites-v1.yaml
  • POST /_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