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,246 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
# Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
openapi: 3.1.0
|
|
16
|
+
info:
|
|
17
|
+
title: Matrix Client-Server Password Management API
|
|
18
|
+
version: 1.0.0
|
|
19
|
+
paths:
|
|
20
|
+
/account/password:
|
|
21
|
+
post:
|
|
22
|
+
summary: Changes a user's password.
|
|
23
|
+
description: |-
|
|
24
|
+
Changes the password for an account on this homeserver.
|
|
25
|
+
|
|
26
|
+
This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api) to
|
|
27
|
+
ensure the user changing the password is actually the owner of the
|
|
28
|
+
account.
|
|
29
|
+
|
|
30
|
+
An access token should be submitted to this endpoint if the client has
|
|
31
|
+
an active session.
|
|
32
|
+
|
|
33
|
+
The homeserver may change the flows available depending on whether a
|
|
34
|
+
valid access token is provided. The homeserver SHOULD NOT revoke the
|
|
35
|
+
access token provided in the request. Whether other access tokens for
|
|
36
|
+
the user are revoked depends on the request parameters.
|
|
37
|
+
|
|
38
|
+
This endpoint uses [capabilities negotiation](/client-server-api/#capabilities-negotiation).
|
|
39
|
+
Clients SHOULD check the value of the [`m.change_password` capability](/client-server-api/#mchange_password-capability)
|
|
40
|
+
to determine if this endpoint is available.
|
|
41
|
+
security:
|
|
42
|
+
- {}
|
|
43
|
+
- accessTokenQuery: []
|
|
44
|
+
- accessTokenBearer: []
|
|
45
|
+
operationId: changePassword
|
|
46
|
+
requestBody:
|
|
47
|
+
content:
|
|
48
|
+
application/json:
|
|
49
|
+
schema:
|
|
50
|
+
type: object
|
|
51
|
+
properties:
|
|
52
|
+
new_password:
|
|
53
|
+
type: string
|
|
54
|
+
description: The new password for the account.
|
|
55
|
+
example: ihatebananas
|
|
56
|
+
logout_devices:
|
|
57
|
+
type: boolean
|
|
58
|
+
description: |-
|
|
59
|
+
Whether the user's other access tokens, and their associated devices, should be
|
|
60
|
+
revoked if the request succeeds. Defaults to `true`.
|
|
61
|
+
|
|
62
|
+
When `false`, the server can still take advantage of the [soft logout method](/client-server-api/#soft-logout)
|
|
63
|
+
for the user's remaining devices.
|
|
64
|
+
example: true
|
|
65
|
+
auth:
|
|
66
|
+
description: Additional authentication information for the user-interactive
|
|
67
|
+
authentication API.
|
|
68
|
+
allOf:
|
|
69
|
+
- $ref: definitions/auth_data.yaml
|
|
70
|
+
required:
|
|
71
|
+
- new_password
|
|
72
|
+
required: true
|
|
73
|
+
responses:
|
|
74
|
+
"200":
|
|
75
|
+
description: The password has been changed.
|
|
76
|
+
content:
|
|
77
|
+
application/json:
|
|
78
|
+
schema:
|
|
79
|
+
type: object
|
|
80
|
+
examples:
|
|
81
|
+
response:
|
|
82
|
+
value: {}
|
|
83
|
+
"401":
|
|
84
|
+
description: The homeserver requires additional authentication information.
|
|
85
|
+
content:
|
|
86
|
+
application/json:
|
|
87
|
+
schema:
|
|
88
|
+
$ref: definitions/auth_response.yaml
|
|
89
|
+
"429":
|
|
90
|
+
description: This request was rate-limited.
|
|
91
|
+
content:
|
|
92
|
+
application/json:
|
|
93
|
+
schema:
|
|
94
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
95
|
+
tags:
|
|
96
|
+
- Account management
|
|
97
|
+
/account/password/email/requestToken:
|
|
98
|
+
post:
|
|
99
|
+
summary: Requests a validation token be sent to the given email address for the
|
|
100
|
+
purpose of resetting a user's password
|
|
101
|
+
description: |-
|
|
102
|
+
The homeserver must check that the given email address **is
|
|
103
|
+
associated** with an account on this homeserver. This API should be
|
|
104
|
+
used to request validation tokens when authenticating for the
|
|
105
|
+
`/account/password` endpoint.
|
|
106
|
+
|
|
107
|
+
This API's parameters and response are identical to that of the
|
|
108
|
+
[`/register/email/requestToken`](/client-server-api/#post_matrixclientv3registeremailrequesttoken)
|
|
109
|
+
endpoint, except that
|
|
110
|
+
`M_THREEPID_NOT_FOUND` may be returned if no account matching the
|
|
111
|
+
given email address could be found. The server may instead send an
|
|
112
|
+
email to the given address prompting the user to create an account.
|
|
113
|
+
`M_THREEPID_IN_USE` may not be returned.
|
|
114
|
+
|
|
115
|
+
The homeserver should validate the email itself, either by sending a
|
|
116
|
+
validation email itself or by using a service it has control over.
|
|
117
|
+
operationId: requestTokenToResetPasswordEmail
|
|
118
|
+
requestBody:
|
|
119
|
+
content:
|
|
120
|
+
application/json:
|
|
121
|
+
schema:
|
|
122
|
+
$ref: definitions/request_email_validation.yaml
|
|
123
|
+
required: true
|
|
124
|
+
responses:
|
|
125
|
+
"200":
|
|
126
|
+
description: An email was sent to the given address.
|
|
127
|
+
content:
|
|
128
|
+
application/json:
|
|
129
|
+
schema:
|
|
130
|
+
$ref: definitions/request_token_response.yaml
|
|
131
|
+
"400":
|
|
132
|
+
description: |-
|
|
133
|
+
The referenced third-party identifier is not recognised by the
|
|
134
|
+
homeserver, or the request was invalid. The error code `M_SERVER_NOT_TRUSTED`
|
|
135
|
+
can be returned if the server does not trust/support the identity server
|
|
136
|
+
provided in the request.
|
|
137
|
+
content:
|
|
138
|
+
application/json:
|
|
139
|
+
schema:
|
|
140
|
+
$ref: definitions/errors/error.yaml
|
|
141
|
+
examples:
|
|
142
|
+
response:
|
|
143
|
+
value: {
|
|
144
|
+
"errcode": "M_THREEPID_NOT_FOUND",
|
|
145
|
+
"error": "Email not found"
|
|
146
|
+
}
|
|
147
|
+
"403":
|
|
148
|
+
description: |-
|
|
149
|
+
The homeserver does not allow the third-party identifier as a
|
|
150
|
+
contact option.
|
|
151
|
+
content:
|
|
152
|
+
application/json:
|
|
153
|
+
schema:
|
|
154
|
+
$ref: definitions/errors/error.yaml
|
|
155
|
+
examples:
|
|
156
|
+
response:
|
|
157
|
+
value: {
|
|
158
|
+
"errcode": "M_THREEPID_DENIED",
|
|
159
|
+
"error": "Third-party identifier is not allowed"
|
|
160
|
+
}
|
|
161
|
+
tags:
|
|
162
|
+
- Account management
|
|
163
|
+
/account/password/msisdn/requestToken:
|
|
164
|
+
post:
|
|
165
|
+
summary: Requests a validation token be sent to the given phone number for the
|
|
166
|
+
purpose of resetting a user's password.
|
|
167
|
+
description: |-
|
|
168
|
+
The homeserver must check that the given phone number **is
|
|
169
|
+
associated** with an account on this homeserver. This API should be
|
|
170
|
+
used to request validation tokens when authenticating for the
|
|
171
|
+
`/account/password` endpoint.
|
|
172
|
+
|
|
173
|
+
This API's parameters and response are identical to that of the
|
|
174
|
+
[`/register/msisdn/requestToken`](/client-server-api/#post_matrixclientv3registermsisdnrequesttoken)
|
|
175
|
+
endpoint, except that
|
|
176
|
+
`M_THREEPID_NOT_FOUND` may be returned if no account matching the
|
|
177
|
+
given phone number could be found. The server may instead send the SMS
|
|
178
|
+
to the given phone number prompting the user to create an account.
|
|
179
|
+
`M_THREEPID_IN_USE` may not be returned.
|
|
180
|
+
|
|
181
|
+
The homeserver should validate the phone number itself, either by sending a
|
|
182
|
+
validation message itself or by using a service it has control over.
|
|
183
|
+
operationId: requestTokenToResetPasswordMSISDN
|
|
184
|
+
requestBody:
|
|
185
|
+
content:
|
|
186
|
+
application/json:
|
|
187
|
+
schema:
|
|
188
|
+
$ref: definitions/request_msisdn_validation.yaml
|
|
189
|
+
required: true
|
|
190
|
+
responses:
|
|
191
|
+
"200":
|
|
192
|
+
description: An SMS message was sent to the given phone number.
|
|
193
|
+
content:
|
|
194
|
+
application/json:
|
|
195
|
+
schema:
|
|
196
|
+
$ref: definitions/request_token_response.yaml
|
|
197
|
+
"400":
|
|
198
|
+
description: |-
|
|
199
|
+
The referenced third-party identifier is not recognised by the
|
|
200
|
+
homeserver, or the request was invalid. The error code `M_SERVER_NOT_TRUSTED`
|
|
201
|
+
can be returned if the server does not trust/support the identity server
|
|
202
|
+
provided in the request.
|
|
203
|
+
content:
|
|
204
|
+
application/json:
|
|
205
|
+
schema:
|
|
206
|
+
$ref: definitions/errors/error.yaml
|
|
207
|
+
examples:
|
|
208
|
+
response:
|
|
209
|
+
value: {
|
|
210
|
+
"errcode": "M_THREEPID_NOT_FOUND",
|
|
211
|
+
"error": "Phone number not found"
|
|
212
|
+
}
|
|
213
|
+
"403":
|
|
214
|
+
description: |-
|
|
215
|
+
The homeserver does not allow the third-party identifier as a
|
|
216
|
+
contact option.
|
|
217
|
+
content:
|
|
218
|
+
application/json:
|
|
219
|
+
schema:
|
|
220
|
+
$ref: definitions/errors/error.yaml
|
|
221
|
+
examples:
|
|
222
|
+
response:
|
|
223
|
+
value: {
|
|
224
|
+
"errcode": "M_THREEPID_DENIED",
|
|
225
|
+
"error": "Third-party identifier is not allowed"
|
|
226
|
+
}
|
|
227
|
+
tags:
|
|
228
|
+
- Account management
|
|
229
|
+
servers:
|
|
230
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
231
|
+
variables:
|
|
232
|
+
protocol:
|
|
233
|
+
enum:
|
|
234
|
+
- http
|
|
235
|
+
- https
|
|
236
|
+
default: https
|
|
237
|
+
hostname:
|
|
238
|
+
default: localhost:8008
|
|
239
|
+
basePath:
|
|
240
|
+
default: /_matrix/client/v3
|
|
241
|
+
components:
|
|
242
|
+
securitySchemes:
|
|
243
|
+
accessTokenQuery:
|
|
244
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
245
|
+
accessTokenBearer:
|
|
246
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,122 @@
|
|
|
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 Sync Guest API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
# With an extra " " to disambiguate from the getEvents endpoint
|
|
20
|
+
# The extra space makes it sort first for what I'm sure is a good reason.
|
|
21
|
+
"/events ":
|
|
22
|
+
get:
|
|
23
|
+
summary: Listen on the event stream of a particular room.
|
|
24
|
+
description: |-
|
|
25
|
+
This will listen for new events related to a particular room and return
|
|
26
|
+
them to the caller. This will block until an event is received, or until
|
|
27
|
+
the `timeout` is reached.
|
|
28
|
+
|
|
29
|
+
This API is the same as the normal `/events` endpoint, but can be
|
|
30
|
+
called by users who have not joined the room.
|
|
31
|
+
|
|
32
|
+
Note that the normal `/events` endpoint has been deprecated. This
|
|
33
|
+
API will also be deprecated at some point, but its replacement is not
|
|
34
|
+
yet known.
|
|
35
|
+
operationId: peekEvents
|
|
36
|
+
security:
|
|
37
|
+
- accessTokenQuery: []
|
|
38
|
+
- accessTokenBearer: []
|
|
39
|
+
parameters:
|
|
40
|
+
- in: query
|
|
41
|
+
name: from
|
|
42
|
+
description: |-
|
|
43
|
+
The token to stream from. This token is either from a previous
|
|
44
|
+
request to this API or from the initial sync API.
|
|
45
|
+
required: false
|
|
46
|
+
example: s3456_9_0
|
|
47
|
+
schema:
|
|
48
|
+
type: string
|
|
49
|
+
- in: query
|
|
50
|
+
name: timeout
|
|
51
|
+
description: The maximum time in milliseconds to wait for an event.
|
|
52
|
+
required: false
|
|
53
|
+
example: 35000
|
|
54
|
+
schema:
|
|
55
|
+
type: integer
|
|
56
|
+
- in: query
|
|
57
|
+
name: room_id
|
|
58
|
+
description: The room ID for which events should be returned.
|
|
59
|
+
example: "!somewhere:over.the.rainbow"
|
|
60
|
+
schema:
|
|
61
|
+
type: string
|
|
62
|
+
required: true
|
|
63
|
+
responses:
|
|
64
|
+
"200":
|
|
65
|
+
description: The events received, which may be none.
|
|
66
|
+
content:
|
|
67
|
+
application/json:
|
|
68
|
+
schema:
|
|
69
|
+
type: object
|
|
70
|
+
properties:
|
|
71
|
+
start:
|
|
72
|
+
type: string
|
|
73
|
+
description: |-
|
|
74
|
+
A token which correlates to the first value in `chunk`. This
|
|
75
|
+
is usually the same token supplied to `from=`.
|
|
76
|
+
end:
|
|
77
|
+
type: string
|
|
78
|
+
description: |-
|
|
79
|
+
A token which correlates to the last value in `chunk`. This
|
|
80
|
+
token should be used in the next request to `/events`.
|
|
81
|
+
chunk:
|
|
82
|
+
type: array
|
|
83
|
+
description: An array of events.
|
|
84
|
+
items:
|
|
85
|
+
type: object
|
|
86
|
+
title: Event
|
|
87
|
+
allOf:
|
|
88
|
+
- $ref: definitions/client_event.yaml
|
|
89
|
+
examples:
|
|
90
|
+
response:
|
|
91
|
+
value: {
|
|
92
|
+
"start": "s3456_9_0",
|
|
93
|
+
"end": "s3457_9_0",
|
|
94
|
+
"chunk": [
|
|
95
|
+
{
|
|
96
|
+
"room_id": "!somewhere:over.the.rainbow",
|
|
97
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.text.yaml"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
"400":
|
|
102
|
+
description: Bad pagination `from` parameter.
|
|
103
|
+
tags:
|
|
104
|
+
- Room participation
|
|
105
|
+
servers:
|
|
106
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
107
|
+
variables:
|
|
108
|
+
protocol:
|
|
109
|
+
enum:
|
|
110
|
+
- http
|
|
111
|
+
- https
|
|
112
|
+
default: https
|
|
113
|
+
hostname:
|
|
114
|
+
default: localhost:8008
|
|
115
|
+
basePath:
|
|
116
|
+
default: /_matrix/client/v3
|
|
117
|
+
components:
|
|
118
|
+
securitySchemes:
|
|
119
|
+
accessTokenQuery:
|
|
120
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
121
|
+
accessTokenBearer:
|
|
122
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Copyright 2026 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 Policy Server Discovery API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
/matrix/policy_server:
|
|
20
|
+
get:
|
|
21
|
+
summary: Gets information about a Policy Server's configuration, if available.
|
|
22
|
+
description: |-
|
|
23
|
+
Gets public key information for a [Policy Server](/client-server-api/#policy-servers).
|
|
24
|
+
|
|
25
|
+
{{% boxes/note %}}
|
|
26
|
+
Like the [well-known discovery URI](/client-server-api/#well-known-uris),
|
|
27
|
+
this endpoint should be accessed with the hostname of the Policy Server's
|
|
28
|
+
[server name](/appendices/#server-name) by making a
|
|
29
|
+
GET request to `https://hostname/.well-known/matrix/policy_server`.
|
|
30
|
+
{{% /boxes/note %}}
|
|
31
|
+
|
|
32
|
+
Note that this endpoint is not necessarily handled by the homeserver or
|
|
33
|
+
Policy Server. It may be served by another webserver.
|
|
34
|
+
operationId: getWellknownPolicy
|
|
35
|
+
x-addedInMatrixVersion: "1.18"
|
|
36
|
+
responses:
|
|
37
|
+
"200":
|
|
38
|
+
description: |-
|
|
39
|
+
Public keys for the Policy Server. Can be supplied to the [`m.room.policy`](/client-server-api/#mroompolicy)
|
|
40
|
+
state event.
|
|
41
|
+
content:
|
|
42
|
+
application/json:
|
|
43
|
+
schema:
|
|
44
|
+
type: object
|
|
45
|
+
properties:
|
|
46
|
+
public_keys:
|
|
47
|
+
type: object
|
|
48
|
+
description: |-
|
|
49
|
+
The unpadded base64-encoded public keys for the Policy Server. MUST contain
|
|
50
|
+
at least `ed25519`.
|
|
51
|
+
properties:
|
|
52
|
+
ed25519:
|
|
53
|
+
type: string
|
|
54
|
+
description: The unpadded base64-encoded ed25519 public key for the Policy Server.
|
|
55
|
+
required: ['ed25519']
|
|
56
|
+
additionalProperties:
|
|
57
|
+
type: string
|
|
58
|
+
description: The unpadded base64-encoded public key for the key algorithm.
|
|
59
|
+
required: ["public_keys"]
|
|
60
|
+
examples:
|
|
61
|
+
response:
|
|
62
|
+
value:
|
|
63
|
+
{
|
|
64
|
+
"public_keys": {
|
|
65
|
+
"ed25519": "6yhHGKhCiXTSEN2ksjV7kX_N6rBQZ3Xb-M7LlC6NS-s"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
"404":
|
|
69
|
+
description: No policy server information available.
|
|
70
|
+
tags:
|
|
71
|
+
- Server administration
|
|
72
|
+
servers:
|
|
73
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
74
|
+
variables:
|
|
75
|
+
protocol:
|
|
76
|
+
enum:
|
|
77
|
+
- https
|
|
78
|
+
default: https
|
|
79
|
+
hostname:
|
|
80
|
+
default: localhost:8008
|
|
81
|
+
basePath:
|
|
82
|
+
default: /.well-known
|
|
@@ -0,0 +1,169 @@
|
|
|
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 Presence API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/presence/{userId}/status":
|
|
20
|
+
put:
|
|
21
|
+
summary: Update this user's presence state.
|
|
22
|
+
description: |-
|
|
23
|
+
This API sets the given user's presence state. When setting the status,
|
|
24
|
+
the activity time is updated to reflect that activity; the client does
|
|
25
|
+
not need to specify the `last_active_ago` field. You cannot set the
|
|
26
|
+
presence state of another user.
|
|
27
|
+
operationId: setPresence
|
|
28
|
+
security:
|
|
29
|
+
- accessTokenQuery: []
|
|
30
|
+
- accessTokenBearer: []
|
|
31
|
+
parameters:
|
|
32
|
+
- in: path
|
|
33
|
+
name: userId
|
|
34
|
+
description: The user whose presence state to update.
|
|
35
|
+
required: true
|
|
36
|
+
example: "@alice:example.com"
|
|
37
|
+
schema:
|
|
38
|
+
type: string
|
|
39
|
+
requestBody:
|
|
40
|
+
content:
|
|
41
|
+
application/json:
|
|
42
|
+
schema:
|
|
43
|
+
type: object
|
|
44
|
+
example: {
|
|
45
|
+
"presence": "online",
|
|
46
|
+
"status_msg": "I am here."
|
|
47
|
+
}
|
|
48
|
+
properties:
|
|
49
|
+
presence:
|
|
50
|
+
type: string
|
|
51
|
+
enum:
|
|
52
|
+
- online
|
|
53
|
+
- offline
|
|
54
|
+
- unavailable
|
|
55
|
+
description: The new presence state.
|
|
56
|
+
status_msg:
|
|
57
|
+
type: string
|
|
58
|
+
description: The status message to attach to this state.
|
|
59
|
+
required:
|
|
60
|
+
- presence
|
|
61
|
+
description: The updated presence state.
|
|
62
|
+
required: true
|
|
63
|
+
responses:
|
|
64
|
+
"200":
|
|
65
|
+
description: The new presence state was set.
|
|
66
|
+
content:
|
|
67
|
+
application/json:
|
|
68
|
+
schema:
|
|
69
|
+
type: object # empty json object
|
|
70
|
+
examples:
|
|
71
|
+
response:
|
|
72
|
+
value: {}
|
|
73
|
+
"429":
|
|
74
|
+
description: This request was rate-limited.
|
|
75
|
+
content:
|
|
76
|
+
application/json:
|
|
77
|
+
schema:
|
|
78
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
79
|
+
tags:
|
|
80
|
+
- Presence
|
|
81
|
+
get:
|
|
82
|
+
summary: Get this user's presence state.
|
|
83
|
+
description: Get the given user's presence state.
|
|
84
|
+
operationId: getPresence
|
|
85
|
+
security:
|
|
86
|
+
- accessTokenQuery: []
|
|
87
|
+
- accessTokenBearer: []
|
|
88
|
+
parameters:
|
|
89
|
+
- in: path
|
|
90
|
+
name: userId
|
|
91
|
+
description: The user whose presence state to get.
|
|
92
|
+
required: true
|
|
93
|
+
example: "@alice:example.com"
|
|
94
|
+
schema:
|
|
95
|
+
type: string
|
|
96
|
+
responses:
|
|
97
|
+
"200":
|
|
98
|
+
description: The presence state for this user.
|
|
99
|
+
content:
|
|
100
|
+
application/json:
|
|
101
|
+
schema:
|
|
102
|
+
type: object
|
|
103
|
+
properties:
|
|
104
|
+
presence:
|
|
105
|
+
type: string
|
|
106
|
+
enum:
|
|
107
|
+
- online
|
|
108
|
+
- offline
|
|
109
|
+
- unavailable
|
|
110
|
+
description: This user's presence.
|
|
111
|
+
last_active_ago:
|
|
112
|
+
type: integer
|
|
113
|
+
description: |-
|
|
114
|
+
The length of time in milliseconds since an action was performed
|
|
115
|
+
by this user.
|
|
116
|
+
status_msg:
|
|
117
|
+
description: The state message for this user if one was set.
|
|
118
|
+
type: ["string", "null"]
|
|
119
|
+
currently_active:
|
|
120
|
+
type: boolean
|
|
121
|
+
description: Whether the user is currently active
|
|
122
|
+
required:
|
|
123
|
+
- presence
|
|
124
|
+
examples:
|
|
125
|
+
response:
|
|
126
|
+
value: {
|
|
127
|
+
"presence": "unavailable",
|
|
128
|
+
"last_active_ago": 420845
|
|
129
|
+
}
|
|
130
|
+
"403":
|
|
131
|
+
description: You are not allowed to see this user's presence status.
|
|
132
|
+
content:
|
|
133
|
+
application/json:
|
|
134
|
+
schema:
|
|
135
|
+
$ref: definitions/errors/error.yaml
|
|
136
|
+
examples:
|
|
137
|
+
response:
|
|
138
|
+
value: {
|
|
139
|
+
"errcode": "M_FORBIDDEN",
|
|
140
|
+
"error": "You are not allowed to see their presence"
|
|
141
|
+
}
|
|
142
|
+
"404":
|
|
143
|
+
description: |-
|
|
144
|
+
There is no presence state for this user. This user may not exist or
|
|
145
|
+
isn't exposing presence information to you.
|
|
146
|
+
content:
|
|
147
|
+
application/json:
|
|
148
|
+
schema:
|
|
149
|
+
$ref: definitions/errors/error.yaml
|
|
150
|
+
tags:
|
|
151
|
+
- Presence
|
|
152
|
+
servers:
|
|
153
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
154
|
+
variables:
|
|
155
|
+
protocol:
|
|
156
|
+
enum:
|
|
157
|
+
- http
|
|
158
|
+
- https
|
|
159
|
+
default: https
|
|
160
|
+
hostname:
|
|
161
|
+
default: localhost:8008
|
|
162
|
+
basePath:
|
|
163
|
+
default: /_matrix/client/v3
|
|
164
|
+
components:
|
|
165
|
+
securitySchemes:
|
|
166
|
+
accessTokenQuery:
|
|
167
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
168
|
+
accessTokenBearer:
|
|
169
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|