async-matrix 0.1.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +131 -0
- data/data/discord-api-spec/openapi.json +40404 -0
- data/data/matrix-spec/api/client-server/account-data.yaml +389 -0
- data/data/matrix-spec/api/client-server/account_deactivation.yaml +149 -0
- data/data/matrix-spec/api/client-server/admin.yaml +512 -0
- data/data/matrix-spec/api/client-server/administrative_contact.yaml +620 -0
- data/data/matrix-spec/api/client-server/appservice_ping.yaml +183 -0
- data/data/matrix-spec/api/client-server/appservice_room_directory.yaml +104 -0
- data/data/matrix-spec/api/client-server/authed-content-repo.yaml +590 -0
- data/data/matrix-spec/api/client-server/banning.yaml +177 -0
- data/data/matrix-spec/api/client-server/capabilities.yaml +235 -0
- data/data/matrix-spec/api/client-server/content-repo.yaml +887 -0
- data/data/matrix-spec/api/client-server/create_room.yaml +306 -0
- data/data/matrix-spec/api/client-server/cross_signing.yaml +300 -0
- data/data/matrix-spec/api/client-server/definitions/auth_data.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/auth_response.yaml +62 -0
- data/data/matrix-spec/api/client-server/definitions/client_device.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/client_event.yaml +49 -0
- data/data/matrix-spec/api/client-server/definitions/client_event_without_room_id.yaml +147 -0
- data/data/matrix-spec/api/client-server/definitions/cross_signing_key.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/device_keys.yaml +70 -0
- data/data/matrix-spec/api/client-server/definitions/errors/error.yaml +26 -0
- data/data/matrix-spec/api/client-server/definitions/errors/rate_limited.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/event_batch.yaml +22 -0
- data/data/matrix-spec/api/client-server/definitions/event_filter.yaml +55 -0
- data/data/matrix-spec/api/client-server/definitions/invite_3pid.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_auth_data.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_data.yaml +50 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_session_data.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/m.login.terms_params.yaml +83 -0
- data/data/matrix-spec/api/client-server/definitions/m.mentions.yaml +33 -0
- data/data/matrix-spec/api/client-server/definitions/m.oauth_params.yaml +30 -0
- data/data/matrix-spec/api/client-server/definitions/m.relates_to.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/megolm_export_session_data.yaml +39 -0
- data/data/matrix-spec/api/client-server/definitions/olm_payload.yaml +88 -0
- data/data/matrix-spec/api/client-server/definitions/one_time_keys.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/openid_token.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/protocol.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_chunk.yaml +74 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_response.yaml +59 -0
- data/data/matrix-spec/api/client-server/definitions/push_condition.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_rule.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_ruleset.yaml +206 -0
- data/data/matrix-spec/api/client-server/definitions/recent_emoji.yaml +29 -0
- data/data/matrix-spec/api/client-server/definitions/request_email_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_msisdn_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_token_response.yaml +46 -0
- data/data/matrix-spec/api/client-server/definitions/room_event_filter.yaml +60 -0
- data/data/matrix-spec/api/client-server/definitions/room_key_backup.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/room_summary.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/security.yaml +47 -0
- data/data/matrix-spec/api/client-server/definitions/sso_login_flow.yaml +98 -0
- data/data/matrix-spec/api/client-server/definitions/state_event_batch.yaml +21 -0
- data/data/matrix-spec/api/client-server/definitions/sync_filter.yaml +86 -0
- data/data/matrix-spec/api/client-server/definitions/tag.yaml +24 -0
- data/data/matrix-spec/api/client-server/definitions/third_party_signed.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/timeline_batch.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/user_identifier.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/full.yaml +38 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/homeserver.yaml +25 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/identity_server.yaml +25 -0
- data/data/matrix-spec/api/client-server/device_management.yaml +314 -0
- data/data/matrix-spec/api/client-server/directory.yaml +318 -0
- data/data/matrix-spec/api/client-server/event_context.yaml +161 -0
- data/data/matrix-spec/api/client-server/filter.yaml +224 -0
- data/data/matrix-spec/api/client-server/inviting.yaml +149 -0
- data/data/matrix-spec/api/client-server/joining.yaml +238 -0
- data/data/matrix-spec/api/client-server/key_backup.yaml +993 -0
- data/data/matrix-spec/api/client-server/keys.yaml +482 -0
- data/data/matrix-spec/api/client-server/kicking.yaml +110 -0
- data/data/matrix-spec/api/client-server/knocking.yaml +152 -0
- data/data/matrix-spec/api/client-server/leaving.yaml +163 -0
- data/data/matrix-spec/api/client-server/list_joined_rooms.yaml +68 -0
- data/data/matrix-spec/api/client-server/list_public_rooms.yaml +280 -0
- data/data/matrix-spec/api/client-server/login.yaml +321 -0
- data/data/matrix-spec/api/client-server/login_token.yaml +138 -0
- data/data/matrix-spec/api/client-server/logout.yaml +86 -0
- data/data/matrix-spec/api/client-server/message_pagination.yaml +194 -0
- data/data/matrix-spec/api/client-server/notifications.yaml +152 -0
- data/data/matrix-spec/api/client-server/oauth_server_metadata.yaml +238 -0
- data/data/matrix-spec/api/client-server/old_sync.yaml +379 -0
- data/data/matrix-spec/api/client-server/openid.yaml +98 -0
- data/data/matrix-spec/api/client-server/password_management.yaml +246 -0
- data/data/matrix-spec/api/client-server/peeking_events.yaml +122 -0
- data/data/matrix-spec/api/client-server/policy_server.yaml +82 -0
- data/data/matrix-spec/api/client-server/presence.yaml +169 -0
- data/data/matrix-spec/api/client-server/profile.yaml +366 -0
- data/data/matrix-spec/api/client-server/pusher.yaml +303 -0
- data/data/matrix-spec/api/client-server/pushrules.yaml +633 -0
- data/data/matrix-spec/api/client-server/read_markers.yaml +103 -0
- data/data/matrix-spec/api/client-server/receipts.yaml +139 -0
- data/data/matrix-spec/api/client-server/redaction.yaml +116 -0
- data/data/matrix-spec/api/client-server/refresh.yaml +119 -0
- data/data/matrix-spec/api/client-server/registration.yaml +488 -0
- data/data/matrix-spec/api/client-server/registration_tokens.yaml +93 -0
- data/data/matrix-spec/api/client-server/relations.yaml +382 -0
- data/data/matrix-spec/api/client-server/report_content.yaml +283 -0
- data/data/matrix-spec/api/client-server/room_event_by_timestamp.yaml +147 -0
- data/data/matrix-spec/api/client-server/room_initial_sync.yaml +188 -0
- data/data/matrix-spec/api/client-server/room_send.yaml +130 -0
- data/data/matrix-spec/api/client-server/room_state.yaml +159 -0
- data/data/matrix-spec/api/client-server/room_summary.yaml +138 -0
- data/data/matrix-spec/api/client-server/room_upgrades.yaml +130 -0
- data/data/matrix-spec/api/client-server/rooms.yaml +380 -0
- data/data/matrix-spec/api/client-server/search.yaml +385 -0
- data/data/matrix-spec/api/client-server/space_hierarchy.yaml +237 -0
- data/data/matrix-spec/api/client-server/sso_login_redirect.yaml +135 -0
- data/data/matrix-spec/api/client-server/support.yaml +142 -0
- data/data/matrix-spec/api/client-server/sync.yaml +692 -0
- data/data/matrix-spec/api/client-server/tags.yaml +183 -0
- data/data/matrix-spec/api/client-server/third_party_lookup.yaml +324 -0
- data/data/matrix-spec/api/client-server/third_party_membership.yaml +139 -0
- data/data/matrix-spec/api/client-server/threads_list.yaml +167 -0
- data/data/matrix-spec/api/client-server/to_device.yaml +104 -0
- data/data/matrix-spec/api/client-server/typing.yaml +103 -0
- data/data/matrix-spec/api/client-server/users.yaml +136 -0
- data/data/matrix-spec/api/client-server/versions.yaml +108 -0
- data/data/matrix-spec/api/client-server/voip.yaml +93 -0
- data/data/matrix-spec/api/client-server/wellknown.yaml +60 -0
- data/data/matrix-spec/api/client-server/whoami.yaml +121 -0
- data/data/matrix-spec/event-schemas/examples/core/event.json +6 -0
- data/data/matrix-spec/event-schemas/examples/core/room_edu.json +3 -0
- data/data/matrix-spec/event-schemas/examples/core/room_event.json +11 -0
- data/data/matrix-spec/event-schemas/examples/core/state_event.json +4 -0
- data/data/matrix-spec/event-schemas/examples/invite_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/knock_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/m.accepted_terms.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.answer.yaml +21 -0
- data/data/matrix-spec/event-schemas/examples/m.call.candidates.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.hangup.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.invite.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.negotiate.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.reject.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.call.sdp_stream_metadata_changed.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.select_answer.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.direct.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.dummy.yaml +4 -0
- data/data/matrix-spec/event-schemas/examples/m.forwarded_room_key.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.fully_read.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.identity_server.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.ignored_user_list.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.invite_permission_config.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.accept.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.cancel.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.done.yaml +6 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.key.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.mac.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.ready.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.request.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start$m.sas.v1.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key_backup.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.marked_unread.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.room.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.server.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.user.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.presence.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.push_rules.yaml +177 -0
- data/data/matrix-spec/event-schemas/examples/m.reaction.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.receipt.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.recent_emoji.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.avatar.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.canonical_alias.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.create.yaml +13 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$megolm.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$olm.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encryption.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.guest_access.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.history_visibility.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules$restricted.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$invite_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$join_authorised_via_users_server.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$knock_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$third_party_invite.yaml +20 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.audio.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.emote.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.file.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.image.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.key.verification.request.yaml +19 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.location.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.notice.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.server_notice.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.text.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.video.yaml +23 -0
- data/data/matrix-spec/event-schemas/examples/m.room.name.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.pinned_events.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.policy.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.power_levels.yaml +24 -0
- data/data/matrix-spec/event-schemas/examples/m.room.redaction.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.server_acl.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.third_party_invite.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.tombstone.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.room.topic.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.withheld.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$cancel_request.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$request.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.request.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.send.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.space.child.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.space.parent.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.sticker.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.tag.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.typing.yaml +7 -0
- data/data/matrix-spec/event-schemas/moderation_policy_rule.yaml +32 -0
- data/data/matrix-spec/event-schemas/schema/components/m_text_content_block.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/components/sdp_stream_metadata.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/components/signed_third_party_invite.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/call_event.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/event.yaml +16 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/avatar_info.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +22 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/room_event.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/state_event.yaml +8 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/stripped_state.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_room_event.yaml +49 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_state_event.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/unsigned_prop.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.accepted_terms.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.call.answer.yaml +44 -0
- data/data/matrix-spec/event-schemas/schema/m.call.candidates.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/m.call.hangup.yaml +57 -0
- data/data/matrix-spec/event-schemas/schema/m.call.invite.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.call.negotiate.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.call.reject.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.call.sdp_stream_metadata_changed.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.call.select_answer.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.direct.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.dummy.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.forwarded_room_key.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.fully_read.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.identity_server.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.ignored_user_list.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.invite_permission_config.yaml +21 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.accept.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.cancel.yaml +72 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.done.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.key.yaml +31 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.m.relates_to.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.mac.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.ready.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.request.yaml +47 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.reciprocate.v1.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.sas.v1.yaml +76 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start.yaml +46 -0
- data/data/matrix-spec/event-schemas/schema/m.key_backup.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.marked_unread.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.room.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.server.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.user.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.presence.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.push_rules.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.reaction.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.receipt.yaml +65 -0
- data/data/matrix-spec/event-schemas/schema/m.recent_emoji.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.avatar.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.canonical_alias.yaml +40 -0
- data/data/matrix-spec/event-schemas/schema/m.room.create.yaml +86 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encrypted.yaml +91 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encryption.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room.guest_access.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.room.history_visibility.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.room.join_rules.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.room.member.yaml +174 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.audio.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.emote.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.file.yaml +85 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.image.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.key.verification.request.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.location.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.notice.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.server_notice.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.text.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.video.yaml +95 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.room.name.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.room.pinned_events.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/m.room.policy.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.power_levels.yaml +139 -0
- data/data/matrix-spec/event-schemas/schema/m.room.redaction.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.server_acl.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room.third_party_invite.yaml +79 -0
- data/data/matrix-spec/event-schemas/schema/m.room.tombstone.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.topic.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.withheld.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key_request.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.request.yaml +42 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.send.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.space.child.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.space.parent.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.sticker.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.tag.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.typing.yaml +29 -0
- data/lib/async/discord/api/path_tree.rb +130 -0
- data/lib/async/discord/api.rb +156 -0
- data/lib/async/discord/client.rb +286 -0
- data/lib/async/discord/error.rb +88 -0
- data/lib/async/discord/gateway.rb +362 -0
- data/lib/async/discord.rb +16 -0
- data/lib/async/matrix/api/chain.rb +584 -0
- data/lib/async/matrix/api/concat.rb +105 -0
- data/lib/async/matrix/api/path_tree.rb +208 -0
- data/lib/async/matrix/api.rb +204 -0
- data/lib/async/matrix/application_service/bot.rb +235 -0
- data/lib/async/matrix/application_service/config/schema/analytics.json +21 -0
- data/lib/async/matrix/application_service/config/schema/appservice.json +82 -0
- data/lib/async/matrix/application_service/config/schema/backfill.json +91 -0
- data/lib/async/matrix/application_service/config/schema/bridge.json +209 -0
- data/lib/async/matrix/application_service/config/schema/config.json +61 -0
- data/lib/async/matrix/application_service/config/schema/database.json +38 -0
- data/lib/async/matrix/application_service/config/schema/direct_media.json +35 -0
- data/lib/async/matrix/application_service/config/schema/double_puppet.json +24 -0
- data/lib/async/matrix/application_service/config/schema/encryption.json +164 -0
- data/lib/async/matrix/application_service/config/schema/homeserver.json +58 -0
- data/lib/async/matrix/application_service/config/schema/logging.json +50 -0
- data/lib/async/matrix/application_service/config/schema/management_room_texts.json +25 -0
- data/lib/async/matrix/application_service/config/schema/matrix.json +45 -0
- data/lib/async/matrix/application_service/config/schema/permissions.json +54 -0
- data/lib/async/matrix/application_service/config/schema/provisioning.json +23 -0
- data/lib/async/matrix/application_service/config/schema/public_media.json +39 -0
- data/lib/async/matrix/application_service/config/schema/relay.json +43 -0
- data/lib/async/matrix/application_service/config/vivify.rb +113 -0
- data/lib/async/matrix/application_service/config.rb +214 -123
- data/lib/async/matrix/application_service/dispatcher.rb +115 -113
- data/lib/async/matrix/application_service/error_response.rb +26 -26
- data/lib/async/matrix/application_service/event.rb +206 -1
- data/lib/async/matrix/application_service/server.rb +286 -215
- data/lib/async/matrix/application_service/transaction.rb +52 -52
- data/lib/async/matrix/application_service/transaction_store.rb +62 -62
- data/lib/async/matrix/bridge/discord/db/connection.rb +143 -0
- data/lib/async/matrix/bridge/discord/db/file.rb +120 -0
- data/lib/async/matrix/bridge/discord/db/guild.rb +122 -0
- data/lib/async/matrix/bridge/discord/db/message.rb +162 -0
- data/lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb +14 -0
- data/lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb +14 -0
- data/lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb +23 -0
- data/lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb +19 -0
- data/lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb +20 -0
- data/lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb +19 -0
- data/lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb +18 -0
- data/lib/async/matrix/bridge/discord/db/portal.rb +152 -0
- data/lib/async/matrix/bridge/discord/db/puppet.rb +130 -0
- data/lib/async/matrix/bridge/discord/db/reaction.rb +167 -0
- data/lib/async/matrix/bridge/discord/db/user.rb +114 -0
- data/lib/async/matrix/bridge/discord/db.rb +140 -0
- data/lib/async/matrix/client.rb +919 -179
- data/lib/async/matrix/connection.rb +8 -8
- data/lib/async/matrix/double_puppet_client.rb +84 -0
- data/lib/async/matrix/endpoint.rb +45 -45
- data/lib/async/matrix/error.rb +49 -43
- data/lib/async/matrix/media_client.rb +173 -0
- data/lib/async/matrix/notifier.rb +92 -92
- data/lib/async/matrix/schema/registry.rb +355 -0
- data/lib/async/matrix/schema/validation_error.rb +226 -0
- data/lib/async/matrix/schema.rb +174 -0
- data/lib/async/matrix/server.rb +8 -7
- data/lib/async/matrix/stream.rb +7 -7
- data/lib/async/matrix/version.rb +1 -1
- data/lib/async/matrix.rb +4 -2
- metadata +419 -1
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server Rooms API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/rooms/{roomId}/messages":
|
|
20
|
+
get:
|
|
21
|
+
summary: Get a list of events for this room
|
|
22
|
+
description: |-
|
|
23
|
+
This API returns a list of message and state events for a room. It uses
|
|
24
|
+
pagination query parameters to paginate history in the room.
|
|
25
|
+
|
|
26
|
+
*Note*: This endpoint supports lazy-loading of room member events. See
|
|
27
|
+
[Lazy-loading room members](/client-server-api/#lazy-loading-room-members) for more information.
|
|
28
|
+
operationId: getRoomEvents
|
|
29
|
+
security:
|
|
30
|
+
- accessTokenQuery: []
|
|
31
|
+
- accessTokenBearer: []
|
|
32
|
+
parameters:
|
|
33
|
+
- in: path
|
|
34
|
+
name: roomId
|
|
35
|
+
description: The room to get events from.
|
|
36
|
+
required: true
|
|
37
|
+
example: "!636q39766251:example.com"
|
|
38
|
+
schema:
|
|
39
|
+
type: string
|
|
40
|
+
format: mx-room-id
|
|
41
|
+
pattern: "^!"
|
|
42
|
+
- in: query
|
|
43
|
+
name: from
|
|
44
|
+
x-changedInMatrixVersion:
|
|
45
|
+
"1.3": |
|
|
46
|
+
Previously, this field was required and paginating from the first or
|
|
47
|
+
last visible event in the room history wasn't supported.
|
|
48
|
+
description: |-
|
|
49
|
+
The token to start returning events from. This token can be obtained
|
|
50
|
+
from a `prev_batch` or `next_batch` token returned by the `/sync` endpoint,
|
|
51
|
+
or from an `end` token returned by a previous request to this endpoint.
|
|
52
|
+
|
|
53
|
+
This endpoint can also accept a value returned as a `start` token
|
|
54
|
+
by a previous request to this endpoint, though servers are not
|
|
55
|
+
required to support this. Clients should not rely on the behaviour.
|
|
56
|
+
|
|
57
|
+
If it is not provided, the homeserver shall return a list of messages
|
|
58
|
+
from the first or last (per the value of the `dir` parameter) visible
|
|
59
|
+
event in the room history for the requesting user.
|
|
60
|
+
required: false
|
|
61
|
+
example: s345_678_333
|
|
62
|
+
schema:
|
|
63
|
+
type: string
|
|
64
|
+
- in: query
|
|
65
|
+
name: to
|
|
66
|
+
description: |-
|
|
67
|
+
The token to stop returning events at. This token can be obtained from
|
|
68
|
+
a `prev_batch` or `next_batch` token returned by the `/sync` endpoint,
|
|
69
|
+
or from an `end` token returned by a previous request to this endpoint.
|
|
70
|
+
required: false
|
|
71
|
+
schema:
|
|
72
|
+
type: string
|
|
73
|
+
- in: query
|
|
74
|
+
name: dir
|
|
75
|
+
description: |-
|
|
76
|
+
The direction to return events from. If this is set to `f`, events
|
|
77
|
+
will be returned in chronological order starting at `from`. If it
|
|
78
|
+
is set to `b`, events will be returned in *reverse* chronological
|
|
79
|
+
order, again starting at `from`.
|
|
80
|
+
required: true
|
|
81
|
+
example: b
|
|
82
|
+
schema:
|
|
83
|
+
type: string
|
|
84
|
+
enum:
|
|
85
|
+
- b
|
|
86
|
+
- f
|
|
87
|
+
- in: query
|
|
88
|
+
name: limit
|
|
89
|
+
description: "The maximum number of events to return. Default: 10."
|
|
90
|
+
example: 3
|
|
91
|
+
schema:
|
|
92
|
+
type: integer
|
|
93
|
+
- in: query
|
|
94
|
+
name: filter
|
|
95
|
+
description: A JSON RoomEventFilter to filter returned events with.
|
|
96
|
+
example: '{"contains_url":true}'
|
|
97
|
+
schema:
|
|
98
|
+
type: string
|
|
99
|
+
responses:
|
|
100
|
+
"200":
|
|
101
|
+
description: A list of messages with a new token to request more.
|
|
102
|
+
content:
|
|
103
|
+
application/json:
|
|
104
|
+
schema:
|
|
105
|
+
type: object
|
|
106
|
+
description: A list of messages with a new token to request more.
|
|
107
|
+
properties:
|
|
108
|
+
start:
|
|
109
|
+
type: string
|
|
110
|
+
description: |-
|
|
111
|
+
A token corresponding to the start of `chunk`. This will be the same as
|
|
112
|
+
the value given in `from`.
|
|
113
|
+
end:
|
|
114
|
+
type: string
|
|
115
|
+
description: |-
|
|
116
|
+
A token corresponding to the end of `chunk`. This token can be passed
|
|
117
|
+
back to this endpoint to request further events.
|
|
118
|
+
|
|
119
|
+
If no further events are available (either because we have
|
|
120
|
+
reached the start of the timeline, or because the user does
|
|
121
|
+
not have permission to see any more events), this property
|
|
122
|
+
is omitted from the response.
|
|
123
|
+
chunk:
|
|
124
|
+
type: array
|
|
125
|
+
description: |-
|
|
126
|
+
A list of room events. The order depends on the `dir` parameter.
|
|
127
|
+
For `dir=b` events will be in reverse-chronological order,
|
|
128
|
+
for `dir=f` in chronological order. (The exact definition of `chronological`
|
|
129
|
+
is dependent on the server implementation.)
|
|
130
|
+
|
|
131
|
+
Note that an empty `chunk` does not *necessarily* imply that no more events
|
|
132
|
+
are available. Clients should continue to paginate until no `end` property
|
|
133
|
+
is returned.
|
|
134
|
+
items:
|
|
135
|
+
$ref: definitions/client_event.yaml
|
|
136
|
+
state:
|
|
137
|
+
type: array
|
|
138
|
+
description: |-
|
|
139
|
+
A list of state events relevant to showing the `chunk`. For example, if
|
|
140
|
+
`lazy_load_members` is enabled in the filter then this may contain
|
|
141
|
+
the membership events for the senders of events in the `chunk`.
|
|
142
|
+
|
|
143
|
+
Unless `include_redundant_members` is `true`, the server
|
|
144
|
+
may remove membership events which would have already been
|
|
145
|
+
sent to the client in prior calls to this endpoint, assuming
|
|
146
|
+
the membership of those members has not changed.
|
|
147
|
+
items:
|
|
148
|
+
$ref: definitions/client_event.yaml
|
|
149
|
+
required:
|
|
150
|
+
- start
|
|
151
|
+
- chunk
|
|
152
|
+
examples:
|
|
153
|
+
response:
|
|
154
|
+
value: {
|
|
155
|
+
"start": "t47429-4392820_219380_26003_2265",
|
|
156
|
+
"end": "t47409-4357353_219380_26003_2265",
|
|
157
|
+
"chunk": [
|
|
158
|
+
{
|
|
159
|
+
"room_id": "!636q39766251:example.com",
|
|
160
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.text.yaml"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"room_id": "!636q39766251:example.com",
|
|
164
|
+
"$ref": "../../event-schemas/examples/m.room.name.yaml"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"room_id": "!636q39766251:example.com",
|
|
168
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.video.yaml"
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
"403":
|
|
173
|
+
description: |
|
|
174
|
+
You aren't a member of the room.
|
|
175
|
+
tags:
|
|
176
|
+
- Room participation
|
|
177
|
+
servers:
|
|
178
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
179
|
+
variables:
|
|
180
|
+
protocol:
|
|
181
|
+
enum:
|
|
182
|
+
- http
|
|
183
|
+
- https
|
|
184
|
+
default: https
|
|
185
|
+
hostname:
|
|
186
|
+
default: localhost:8008
|
|
187
|
+
basePath:
|
|
188
|
+
default: /_matrix/client/v3
|
|
189
|
+
components:
|
|
190
|
+
securitySchemes:
|
|
191
|
+
accessTokenQuery:
|
|
192
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
193
|
+
accessTokenBearer:
|
|
194
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server Notifications API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
/notifications:
|
|
20
|
+
get:
|
|
21
|
+
summary: Gets a list of events that the user has been notified about
|
|
22
|
+
description: |-
|
|
23
|
+
This API is used to paginate through the list of events that the
|
|
24
|
+
user has been, or would have been notified about.
|
|
25
|
+
operationId: getNotifications
|
|
26
|
+
security:
|
|
27
|
+
- accessTokenQuery: []
|
|
28
|
+
- accessTokenBearer: []
|
|
29
|
+
parameters:
|
|
30
|
+
- in: query
|
|
31
|
+
name: from
|
|
32
|
+
description: |-
|
|
33
|
+
Pagination token to continue from. This should be the `next_token`
|
|
34
|
+
returned from an earlier call to this endpoint.
|
|
35
|
+
required: false
|
|
36
|
+
example: xxxxx
|
|
37
|
+
schema:
|
|
38
|
+
type: string
|
|
39
|
+
- in: query
|
|
40
|
+
name: limit
|
|
41
|
+
description: Limit on the number of events to return in this request.
|
|
42
|
+
required: false
|
|
43
|
+
example: 20
|
|
44
|
+
schema:
|
|
45
|
+
type: integer
|
|
46
|
+
- in: query
|
|
47
|
+
name: only
|
|
48
|
+
description: |-
|
|
49
|
+
Allows basic filtering of events returned. Supply `highlight`
|
|
50
|
+
to return only events where the notification had the highlight
|
|
51
|
+
tweak set.
|
|
52
|
+
required: false
|
|
53
|
+
example: highlight
|
|
54
|
+
schema:
|
|
55
|
+
type: string
|
|
56
|
+
responses:
|
|
57
|
+
"200":
|
|
58
|
+
description: A batch of events is being returned
|
|
59
|
+
content:
|
|
60
|
+
application/json:
|
|
61
|
+
schema:
|
|
62
|
+
type: object
|
|
63
|
+
required:
|
|
64
|
+
- notifications
|
|
65
|
+
properties:
|
|
66
|
+
next_token:
|
|
67
|
+
type: string
|
|
68
|
+
description: |-
|
|
69
|
+
The token to supply in the `from` param of the next
|
|
70
|
+
`/notifications` request in order to request more
|
|
71
|
+
events. If this is absent, there are no more results.
|
|
72
|
+
notifications:
|
|
73
|
+
type: array
|
|
74
|
+
items:
|
|
75
|
+
type: object
|
|
76
|
+
required:
|
|
77
|
+
- actions
|
|
78
|
+
- event
|
|
79
|
+
- read
|
|
80
|
+
- room_id
|
|
81
|
+
- ts
|
|
82
|
+
title: Notification
|
|
83
|
+
properties:
|
|
84
|
+
actions:
|
|
85
|
+
type: array
|
|
86
|
+
description: |-
|
|
87
|
+
The action(s) to perform when the conditions for this rule are met.
|
|
88
|
+
See [Push Rules: API](/client-server-api/#push-rules-api).
|
|
89
|
+
items:
|
|
90
|
+
type: ["object", "string"]
|
|
91
|
+
event:
|
|
92
|
+
title: Event
|
|
93
|
+
description: The Event object for the event that triggered the notification.
|
|
94
|
+
allOf:
|
|
95
|
+
- $ref: definitions/client_event_without_room_id.yaml
|
|
96
|
+
profile_tag:
|
|
97
|
+
type: string
|
|
98
|
+
description: The profile tag of the rule that matched this event.
|
|
99
|
+
read:
|
|
100
|
+
type: boolean
|
|
101
|
+
description: |-
|
|
102
|
+
Indicates whether the user has sent a read receipt indicating
|
|
103
|
+
that they have read this message.
|
|
104
|
+
room_id:
|
|
105
|
+
type: string
|
|
106
|
+
description: The ID of the room in which the event was posted.
|
|
107
|
+
ts:
|
|
108
|
+
type: integer
|
|
109
|
+
format: int64
|
|
110
|
+
description: |-
|
|
111
|
+
The unix timestamp at which the event notification was sent,
|
|
112
|
+
in milliseconds.
|
|
113
|
+
description: The list of events that triggered notifications.
|
|
114
|
+
examples:
|
|
115
|
+
response:
|
|
116
|
+
value: {
|
|
117
|
+
"next_token": "abcdef",
|
|
118
|
+
"notifications": [
|
|
119
|
+
{
|
|
120
|
+
"actions": [
|
|
121
|
+
"notify"
|
|
122
|
+
],
|
|
123
|
+
"profile_tag": "hcbvkzxhcvb",
|
|
124
|
+
"read": true,
|
|
125
|
+
"room_id": "!abcdefg:example.com",
|
|
126
|
+
"ts": 1475508881945,
|
|
127
|
+
"event": {
|
|
128
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.text.yaml"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
tags:
|
|
134
|
+
- Push notifications
|
|
135
|
+
servers:
|
|
136
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
137
|
+
variables:
|
|
138
|
+
protocol:
|
|
139
|
+
enum:
|
|
140
|
+
- http
|
|
141
|
+
- https
|
|
142
|
+
default: https
|
|
143
|
+
hostname:
|
|
144
|
+
default: localhost:8008
|
|
145
|
+
basePath:
|
|
146
|
+
default: /_matrix/client/v3
|
|
147
|
+
components:
|
|
148
|
+
securitySchemes:
|
|
149
|
+
accessTokenQuery:
|
|
150
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
151
|
+
accessTokenBearer:
|
|
152
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Copyright 2025 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server OAuth 2.0 Server Metadata Discovery API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/auth_metadata":
|
|
20
|
+
get:
|
|
21
|
+
summary: Get the OAuth 2.0 authorization server metadata.
|
|
22
|
+
description: |-
|
|
23
|
+
Gets the OAuth 2.0 authorization server metadata, as defined in
|
|
24
|
+
[RFC 8414](https://datatracker.ietf.org/doc/html/rfc8414), including the
|
|
25
|
+
endpoint URLs and the supported parameters that can be used by the
|
|
26
|
+
clients.
|
|
27
|
+
|
|
28
|
+
This endpoint definition includes only the fields that are meaningful in
|
|
29
|
+
the context of the Matrix specification. The full list of possible
|
|
30
|
+
fields is available in the [OAuth Authorization Server Metadata
|
|
31
|
+
registry](https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#authorization-server-metadata),
|
|
32
|
+
and normative definitions of them are available in their respective
|
|
33
|
+
RFCs.
|
|
34
|
+
|
|
35
|
+
{{% boxes/note %}}
|
|
36
|
+
The authorization server metadata is relatively large and may change
|
|
37
|
+
over time. Clients should:
|
|
38
|
+
|
|
39
|
+
- Cache the metadata appropriately based on HTTP caching headers
|
|
40
|
+
- Refetch the metadata if it is stale
|
|
41
|
+
{{% /boxes/note %}}
|
|
42
|
+
operationId: getAuthMetadata
|
|
43
|
+
responses:
|
|
44
|
+
"200":
|
|
45
|
+
description: The OAuth 2.0 authorization server metadata.
|
|
46
|
+
content:
|
|
47
|
+
application/json:
|
|
48
|
+
schema:
|
|
49
|
+
type: object
|
|
50
|
+
properties:
|
|
51
|
+
issuer:
|
|
52
|
+
type: string
|
|
53
|
+
format: uri
|
|
54
|
+
description: |-
|
|
55
|
+
The authorization server's issuer identifier, which is a URL that uses the
|
|
56
|
+
`https` scheme and has no query or fragment components.
|
|
57
|
+
|
|
58
|
+
This is not used in the context of the Matrix specification, but is required
|
|
59
|
+
by [RFC 8414](https://datatracker.ietf.org/doc/html/rfc8414).
|
|
60
|
+
authorization_endpoint:
|
|
61
|
+
type: string
|
|
62
|
+
format: uri
|
|
63
|
+
description: |-
|
|
64
|
+
URL of the authorization endpoint, necessary to use the authorization code
|
|
65
|
+
grant.
|
|
66
|
+
token_endpoint:
|
|
67
|
+
type: string
|
|
68
|
+
format: uri
|
|
69
|
+
description: |-
|
|
70
|
+
URL of the token endpoint, used by the grants.
|
|
71
|
+
revocation_endpoint:
|
|
72
|
+
type: string
|
|
73
|
+
format: uri
|
|
74
|
+
description: |-
|
|
75
|
+
URL of the revocation endpoint, necessary to log out a client by invalidating
|
|
76
|
+
its access and refresh tokens.
|
|
77
|
+
registration_endpoint:
|
|
78
|
+
type: string
|
|
79
|
+
format: uri
|
|
80
|
+
description: |-
|
|
81
|
+
URL of the client registration endpoint, necessary to perform dynamic
|
|
82
|
+
registration of a client.
|
|
83
|
+
response_types_supported:
|
|
84
|
+
type: array
|
|
85
|
+
description: |-
|
|
86
|
+
List of OAuth 2.0 response type strings that the server supports at the
|
|
87
|
+
authorization endpoint.
|
|
88
|
+
|
|
89
|
+
This array MUST contain at least the `code` value, for clients to be able to
|
|
90
|
+
use the authorization code grant.
|
|
91
|
+
items:
|
|
92
|
+
type: string
|
|
93
|
+
description: A response type that the server supports.
|
|
94
|
+
grant_types_supported:
|
|
95
|
+
type: array
|
|
96
|
+
description: |-
|
|
97
|
+
List of OAuth 2.0 grant type strings that the server supports at the token
|
|
98
|
+
endpoint.
|
|
99
|
+
|
|
100
|
+
This array MUST contain at least the `authorization_code` and `refresh_token`
|
|
101
|
+
values, for clients to be able to use the authorization code grant and refresh
|
|
102
|
+
token grant, respectively.
|
|
103
|
+
|
|
104
|
+
{{% added-in v="1.18" %}} It MAY also contain
|
|
105
|
+
`urn:ietf:params:oauth:grant-type:device_code` to indicate support for the
|
|
106
|
+
[device authorization grant](/client-server-api/#device-authorization-grant).
|
|
107
|
+
items:
|
|
108
|
+
type: string
|
|
109
|
+
description: A grant type that the server supports.
|
|
110
|
+
response_modes_supported:
|
|
111
|
+
type: array
|
|
112
|
+
description: |-
|
|
113
|
+
List of OAuth 2.0 response mode strings that the server supports at the
|
|
114
|
+
authorization endpoint.
|
|
115
|
+
|
|
116
|
+
This array MUST contain at least the `query` and `fragment` values, for
|
|
117
|
+
improved security in the authorization code grant.
|
|
118
|
+
items:
|
|
119
|
+
type: string
|
|
120
|
+
description: A response mode that the server supports.
|
|
121
|
+
code_challenge_methods_supported:
|
|
122
|
+
type: array
|
|
123
|
+
description: |-
|
|
124
|
+
List of OAuth 2.0 Proof Key for Code Exchange (PKCE) code challenge methods
|
|
125
|
+
that the server supports at the authorization endpoint.
|
|
126
|
+
|
|
127
|
+
This array MUST contain at least the `S256` value, for improved security in
|
|
128
|
+
the authorization code grant.
|
|
129
|
+
items:
|
|
130
|
+
type: string
|
|
131
|
+
description: A PKCE code challenge method that the server supports.
|
|
132
|
+
prompt_values_supported:
|
|
133
|
+
type: array
|
|
134
|
+
description: |-
|
|
135
|
+
List of OpenID Connect prompt values that the server supports at the
|
|
136
|
+
authorization endpoint.
|
|
137
|
+
|
|
138
|
+
Only the `create` value defined in [Initiating User Registration via OpenID
|
|
139
|
+
Connect](https://openid.net/specs/openid-connect-prompt-create-1_0.html) is
|
|
140
|
+
supported, for a client to signal to the server that the user desires to
|
|
141
|
+
register a new account.
|
|
142
|
+
items:
|
|
143
|
+
type: string
|
|
144
|
+
description: A prompt value that the server supports.
|
|
145
|
+
account_management_uri:
|
|
146
|
+
x-addedInMatrixVersion: "1.18"
|
|
147
|
+
type: string
|
|
148
|
+
format: uri
|
|
149
|
+
description: |-
|
|
150
|
+
The URL where the user is able to access the account management capabilities
|
|
151
|
+
of the homeserver.
|
|
152
|
+
|
|
153
|
+
This is an extension [defined in this specification](/client-server-api/#oauth-20-account-management).
|
|
154
|
+
account_management_actions_supported:
|
|
155
|
+
x-addedInMatrixVersion: "1.18"
|
|
156
|
+
type: array
|
|
157
|
+
description: |-
|
|
158
|
+
List of actions that the account management URL supports.
|
|
159
|
+
|
|
160
|
+
This is an extension [defined in this specification](/client-server-api/#oauth-20-account-management).
|
|
161
|
+
items:
|
|
162
|
+
type: string
|
|
163
|
+
enum:
|
|
164
|
+
- "org.matrix.profile"
|
|
165
|
+
- "org.matrix.devices_list"
|
|
166
|
+
- "org.matrix.device_view"
|
|
167
|
+
- "org.matrix.device_delete"
|
|
168
|
+
- "org.matrix.account_deactivate"
|
|
169
|
+
- "org.matrix.cross_signing_reset"
|
|
170
|
+
description: An action that the account management URL supports.
|
|
171
|
+
device_authorization_endpoint:
|
|
172
|
+
x-addedInMatrixVersion: "1.18"
|
|
173
|
+
type: string
|
|
174
|
+
format: uri
|
|
175
|
+
description: |-
|
|
176
|
+
URL of the device authorization endpoint, as defined in
|
|
177
|
+
[RFC 8628](https://datatracker.ietf.org/doc/html/rfc8628), necessary to use
|
|
178
|
+
the [device authorization grant](/client-server-api/#device-authorization-grant).
|
|
179
|
+
required:
|
|
180
|
+
- issuer
|
|
181
|
+
- authorization_endpoint
|
|
182
|
+
- token_endpoint
|
|
183
|
+
- revocation_endpoint
|
|
184
|
+
- registration_endpoint
|
|
185
|
+
- response_types_supported
|
|
186
|
+
- grant_types_supported
|
|
187
|
+
- response_modes_supported
|
|
188
|
+
- code_challenge_methods_supported
|
|
189
|
+
example: {
|
|
190
|
+
"issuer": "https://account.example.com/",
|
|
191
|
+
"authorization_endpoint": "https://account.example.com/oauth2/auth",
|
|
192
|
+
"token_endpoint": "https://account.example.com/oauth2/token",
|
|
193
|
+
"registration_endpoint": "https://account.example.com/oauth2/clients/register",
|
|
194
|
+
"device_authorization_endpoint": "https://account.example.com/oauth2/device",
|
|
195
|
+
"revocation_endpoint": "https://account.example.com/oauth2/revoke",
|
|
196
|
+
"response_types_supported": ["code"],
|
|
197
|
+
"grant_types_supported": ["authorization_code", "refresh_token", "urn:ietf:params:oauth:grant-type:device_code"],
|
|
198
|
+
"response_modes_supported": ["query", "fragment"],
|
|
199
|
+
"code_challenge_methods_supported": ["S256"],
|
|
200
|
+
"account_management_uri": "https://account.example.com/manage",
|
|
201
|
+
"account_management_actions_supported": [
|
|
202
|
+
"org.matrix.profile",
|
|
203
|
+
"org.matrix.devices_list",
|
|
204
|
+
"org.matrix.device_view",
|
|
205
|
+
"org.matrix.device_delete",
|
|
206
|
+
"org.matrix.account_deactivate",
|
|
207
|
+
"org.matrix.cross_signing_reset",
|
|
208
|
+
],
|
|
209
|
+
}
|
|
210
|
+
"404":
|
|
211
|
+
description: |-
|
|
212
|
+
With `M_UNRECOGNIZED`: the homeserver does not support the OAuth 2.0 API.
|
|
213
|
+
(See [Authentication API discovery](/client-server-api/#authentication-api-discovery).)
|
|
214
|
+
content:
|
|
215
|
+
application/json:
|
|
216
|
+
schema:
|
|
217
|
+
$ref: definitions/errors/error.yaml
|
|
218
|
+
examples:
|
|
219
|
+
response:
|
|
220
|
+
value:
|
|
221
|
+
{
|
|
222
|
+
"errcode": "M_UNRECOGNIZED",
|
|
223
|
+
"error": "Legacy authentication is in use on this homeserver.",
|
|
224
|
+
}
|
|
225
|
+
tags:
|
|
226
|
+
- Session management
|
|
227
|
+
servers:
|
|
228
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
229
|
+
variables:
|
|
230
|
+
protocol:
|
|
231
|
+
enum:
|
|
232
|
+
- http
|
|
233
|
+
- https
|
|
234
|
+
default: https
|
|
235
|
+
hostname:
|
|
236
|
+
default: localhost:8008
|
|
237
|
+
basePath:
|
|
238
|
+
default: /_matrix/client/v1
|