Interface RoomApi


  • @Path("/_matrix/client/r0")
    @Consumes("application/json")
    @Produces("application/json")
    public interface RoomApi
    Rooms API.
    • Method Summary

      Modifier and Type Method Description
      void ban​(String roomId, KickRequest banRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Ban a user in the room.
      void create​(CreateRoomRequest createRoomRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Create a new room with various configuration options.
      void createAlias​(String roomAlias, RoomId roomId, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Create a new mapping from room alias to room ID.
      void deleteAlias​(String roomAlias, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Remove a mapping of room alias to room ID.
      void forget​(String roomId, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      This API stops a user remembering about a particular room.
      void getVisibility​(String roomId, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse)
      Gets the visibility of a given room on the server's public room directory.
      void invite​(String roomId, InviteRequest inviteRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Note that there are two forms of this API, which are documented separately.
      void joinById​(String roomId, JoinRequest joinRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Note that this API requires a room ID, not alias.
      void joinByIdOrAlias​(String roomIdOrAlias, List<String> serverName, JoinRequest joinRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Note that this API takes either a room ID or alias, unlike /room/{roomId}/join.
      void joinedRooms​(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      This API returns a list of the user's current rooms.
      void kick​(String roomId, KickRequest kickRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Kick a user from the room.
      void leave​(String roomId, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      This API stops a user participating in a particular room.
      void resolveAlias​(String roomAlias, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse)
      Requests that the server resolve a room alias to a room ID.
      void searchPublicRooms​(String server, PublicRoomsRequest publicRoomsRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Lists the public rooms on the server, with optional filter.
      void setVisibility​(String roomId, RoomVisibility visibility, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Sets the visibility of a given room in the server's public room directory.
      void showPublicRooms​(Long limit, String since, String server, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse)
      Lists the public rooms on the server.
      void unban​(String roomId, UnbanRequest unbanRequest, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Unban a user from the room.
      void upgrade​(String roomId, NewVersion newVersion, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders httpHeaders, javax.ws.rs.container.AsyncResponse asyncResponse, javax.ws.rs.core.SecurityContext securityContext)
      Upgrades the given room to a particular room version, migrating as much data as possible over to the new room.
    • Method Detail

      • create

        @POST
        @Path("/createRoom")
        void create​(CreateRoomRequest createRoomRequest,
                    @Context
                    javax.ws.rs.core.UriInfo uriInfo,
                    @Context
                    javax.ws.rs.core.HttpHeaders httpHeaders,
                    @Suspended
                    javax.ws.rs.container.AsyncResponse asyncResponse,
                    @Context
                    javax.ws.rs.core.SecurityContext securityContext)
        Create a new room with various configuration options.
        The server MUST apply the normal state resolution rules when creating the new room, including checking power levels for each event. It MUST apply the events implied by the request in the following order:
        1. A default m.room.power_levels event, giving the room creator (and not other members) permission to send state events.
        2. Events set by the presets.
        3. Events listed in initial_state, in the order that they are listed.
        4. Events implied by name and topic.
        5. Invite events implied by invite and invite_3pid.
        The available presets do the following with respect to room state:
        Preset join_rules history_visibility guest_access Other
        private_chat invite shared can_join
        trusted_private_chat invite shared can_join All invitees are given the same power level as the room creator.
        public_chat public shared forbidden
        The server will create a m.room.create event in the room with the requesting user as the creator, alongside other keys provided in the creation_content.
        Requires auth: Yes.
        Return: RoomId.

        Status code 200: Information about the newly created room.

        Status code 400: The request is invalid. A meaningful errcode and description error text will be returned.

        Example reasons for rejection include:

        • The request body is malformed (errcode set to M_BAD_JSON or M_NOT_JSON).
        • The room alias specified is already taken (errcode set to M_ROOM_IN_USE).
        • The initial state implied by the parameters to the request is invalid: for example, the user's power_level is set below that necessary to set the room name (errcode set to M_INVALID_ROOM_STATE).
        Parameters:
        createRoomRequest - JSON body parameters.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • createAlias

        @PUT
        @Path("/directory/room/{roomAlias}")
        void createAlias​(@PathParam("roomAlias")
                         String roomAlias,
                         RoomId roomId,
                         @Context
                         javax.ws.rs.core.UriInfo uriInfo,
                         @Context
                         javax.ws.rs.core.HttpHeaders httpHeaders,
                         @Suspended
                         javax.ws.rs.container.AsyncResponse asyncResponse,
                         @Context
                         javax.ws.rs.core.SecurityContext securityContext)
        Create a new mapping from room alias to room ID.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The mapping was created.

        Status code 409: A room alias with that name already exists.

        Parameters:
        roomAlias - Required. The room alias to set.
        roomId - json body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • resolveAlias

        @GET
        @Path("/directory/room/{roomAlias}")
        void resolveAlias​(@PathParam("roomAlias")
                          String roomAlias,
                          @Context
                          javax.ws.rs.core.UriInfo uriInfo,
                          @Context
                          javax.ws.rs.core.HttpHeaders httpHeaders,
                          @Suspended
                          javax.ws.rs.container.AsyncResponse asyncResponse)
        Requests that the server resolve a room alias to a room ID.
        The server will use the federation API to resolve the alias if the domain part of the alias does not correspond to the server's own domain.
        Return: RoomResolveResponse.

        Status code 200: The room ID and other information for this alias.

        Status code 404: There is no mapped room ID for this room alias.

        Parameters:
        roomAlias - Required. The room alias.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
      • deleteAlias

        @DELETE
        @Path("/directory/room/{roomAlias}")
        void deleteAlias​(@PathParam("roomAlias")
                         String roomAlias,
                         @Context
                         javax.ws.rs.core.UriInfo uriInfo,
                         @Context
                         javax.ws.rs.core.HttpHeaders httpHeaders,
                         @Suspended
                         javax.ws.rs.container.AsyncResponse asyncResponse,
                         @Context
                         javax.ws.rs.core.SecurityContext securityContext)
        Remove a mapping of room alias to room ID.
        Servers may choose to implement additional access control checks here, for instance that room aliases can only be deleted by their creator or a server administrator.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The mapping was deleted.

        Parameters:
        roomAlias - Required. The room alias to remove.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • joinedRooms

        @GET
        @Path("/joined_rooms")
        void joinedRooms​(@Context
                         javax.ws.rs.core.UriInfo uriInfo,
                         @Context
                         javax.ws.rs.core.HttpHeaders httpHeaders,
                         @Suspended
                         javax.ws.rs.container.AsyncResponse asyncResponse,
                         @Context
                         javax.ws.rs.core.SecurityContext securityContext)
        This API returns a list of the user's current rooms.
        Requires auth: Yes.
        Return: JoinedRoomsResponse.

        Status code 200: A list of the rooms the user is in.

        Parameters:
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • invite

        @POST
        @Path("/rooms/{roomId}/invite")
        void invite​(@PathParam("roomId")
                    String roomId,
                    InviteRequest inviteRequest,
                    @Context
                    javax.ws.rs.core.UriInfo uriInfo,
                    @Context
                    javax.ws.rs.core.HttpHeaders httpHeaders,
                    @Suspended
                    javax.ws.rs.container.AsyncResponse asyncResponse,
                    @Context
                    javax.ws.rs.core.SecurityContext securityContext)
        Note that there are two forms of this API, which are documented separately. This version of the API requires that the inviter knows the Matrix identifier of the invitee. The other is documented in the third party invites section.
        This API invites a user to participate in a particular room. They do not start participating in the room until they actually join the room.
        Only users currently in a particular room can invite other users to join that room.
        If the user was invited to the room, the homeserver will append a m.room.member event to the room.
        Rate-limited: Yes.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The user has been invited to join the room.

        Status code 403: You do not have permission to invite the user to the room. A meaningful errcode and description error text will be returned. Example reasons for rejections are:

        • The invitee has been banned from the room.
        • The invitee is already a member of the room.
        • The inviter is not currently in the room.
        • The inviter's power level is insufficient to invite users to the room.

        Status code 429: This request was rate-limited.

        Parameters:
        roomId - Required. The room identifier (not alias) to which to invite the user.
        inviteRequest - JSON body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • joinById

        @POST
        @Path("/rooms/{roomId}/join")
        void joinById​(@PathParam("roomId")
                      String roomId,
                      JoinRequest joinRequest,
                      @Context
                      javax.ws.rs.core.UriInfo uriInfo,
                      @Context
                      javax.ws.rs.core.HttpHeaders httpHeaders,
                      @Suspended
                      javax.ws.rs.container.AsyncResponse asyncResponse,
                      @Context
                      javax.ws.rs.core.SecurityContext securityContext)
        Note that this API requires a room ID, not alias. /join/{roomIdOrAlias} exists if you have a room alias.
        This API starts a user participating in a particular room, if that user is allowed to participate in that room. After this call, the client is allowed to see all current state events in the room, and all subsequent events associated with the room until the user leaves the room.
        After a user has joined a room, the room will appear as an entry in the response of the /initialSync and /sync APIs.
        If a third_party_signed was supplied, the homeserver must verify that it matches a pending m.room.third_party_invite event in the room, and perform key validity checking if required by the event.
        Rate-limited: Yes.
        Requires auth: Yes.
        Return: RoomId.

        Status code 200: The room has been joined. The joined room ID must be returned in the room_id field.

        Status code 403: You do not have permission to join the room. A meaningful errcode and description error text will be returned.

        Example reasons for rejection are:

        • The room is invite-only and the user was not invited.
        • The user has been banned from the room.

        Status code 429:This request was rate-limited.

        Parameters:
        roomId - Required. The room identifier (not alias) to join.
        joinRequest - JSON body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • joinByIdOrAlias

        @POST
        @Path("/join/{roomIdOrAlias}")
        void joinByIdOrAlias​(@PathParam("roomIdOrAlias")
                             String roomIdOrAlias,
                             @QueryParam("server_name")
                             List<String> serverName,
                             JoinRequest joinRequest,
                             @Context
                             javax.ws.rs.core.UriInfo uriInfo,
                             @Context
                             javax.ws.rs.core.HttpHeaders httpHeaders,
                             @Suspended
                             javax.ws.rs.container.AsyncResponse asyncResponse,
                             @Context
                             javax.ws.rs.core.SecurityContext securityContext)
        Note that this API takes either a room ID or alias, unlike /room/{roomId}/join.
        This API starts a user participating in a particular room, if that user is allowed to participate in that room. After this call, the client is allowed to see all current state events in the room, and all subsequent events associated with the room until the user leaves the room.
        After a user has joined a room, the room will appear as an entry in the response of the /initialSync and /sync APIs.
        If a third_party_signed was supplied, the homeserver must verify that it matches a pending m.room.third_party_invite event in the room, and perform key validity checking if required by the event.
        Rate-limited: Yes.
        Requires auth: Yes.
        Return: RoomId.

        Status code 200: The room has been joined. The joined room ID must be returned in the room_id field.

        Status code 403: You do not have permission to join the room. A meaningful errcode and description error text will be returned.

        Example reasons for rejection are:

        • The room is invite-only and the user was not invited.
        • The user has been banned from the room.

        Status code 429: This request was rate-limited.

        Parameters:
        roomIdOrAlias - Required. The room identifier or alias to join.
        joinRequest - JSON body request.
        serverName - The servers to attempt to join the room through. One of the servers must be participating in the room.
        httpHeaders - Http headers.
        uriInfo - Request Information.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • leave

        @POST
        @Path("/rooms/{roomId}/leave")
        void leave​(@PathParam("roomId")
                   String roomId,
                   @Context
                   javax.ws.rs.core.UriInfo uriInfo,
                   @Context
                   javax.ws.rs.core.HttpHeaders httpHeaders,
                   @Suspended
                   javax.ws.rs.container.AsyncResponse asyncResponse,
                   @Context
                   javax.ws.rs.core.SecurityContext securityContext)
        This API stops a user participating in a particular room.
        If the user was already in the room, they will no longer be able to see new events in the room. If the room requires an invite to join, they will need to be re-invited before they can re-join.
        If the user was invited to the room, but had not joined, this call serves to reject the invite.
        The user will still be allowed to retrieve history from the room which they were previously allowed to see.
        Rate-limited: Yes.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The room has been left.

        Status code 429: This request was rate-limited.

        Parameters:
        roomId - Required. The room identifier to leave.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • forget

        @POST
        @Path("/rooms/{roomId}/forget")
        void forget​(@PathParam("roomId")
                    String roomId,
                    @Context
                    javax.ws.rs.core.UriInfo uriInfo,
                    @Context
                    javax.ws.rs.core.HttpHeaders httpHeaders,
                    @Suspended
                    javax.ws.rs.container.AsyncResponse asyncResponse,
                    @Context
                    javax.ws.rs.core.SecurityContext securityContext)
        This API stops a user remembering about a particular room.
        In general, history is a first class citizen in Matrix. After this API is called, however, a user will no longer be able to retrieve history for this room. If all users on a homeserver forget a room, the room is eligible for deletion from that homeserver.
        If the user is currently joined to the room, they must leave the room before calling this API.
        Rate-limited: Yes.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The room has been forgotten.

        Status code 400: The user has not left the room.

        Status code 429: This request was rate-limited.

        Parameters:
        roomId - Required. The room identifier to forget.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • kick

        @POST
        @Path("/rooms/{roomId}/kick")
        void kick​(@PathParam("roomId")
                  String roomId,
                  KickRequest kickRequest,
                  @Context
                  javax.ws.rs.core.UriInfo uriInfo,
                  @Context
                  javax.ws.rs.core.HttpHeaders httpHeaders,
                  @Suspended
                  javax.ws.rs.container.AsyncResponse asyncResponse,
                  @Context
                  javax.ws.rs.core.SecurityContext securityContext)
        Kick a user from the room.
        The caller must have the required power level in order to perform this operation.
        Kicking a user adjusts the target member's membership state to be ``leave`` with an optional ``reason``. Like with other membership changes, a user can directly adjust the target member's state by making a request to ``/rooms/<room id>/state/m.room.member/<user id>``.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The user has been kicked from the room.

        Status code 403: You do not have permission to kick the user from the room. A meaningful errcode and description error text will be returned. Example reasons for rejections are:

        • The kicker is not currently in the room.
        • The kickee is not currently in the room.
        • The kicker's power level is insufficient to kick users from the room.
        Parameters:
        roomId - Required. The room identifier (not alias) from which the user should be kicked.
        kickRequest - JSON body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • ban

        @POST
        @Path("/rooms/{roomId}/ban")
        void ban​(@PathParam("roomId")
                 String roomId,
                 KickRequest banRequest,
                 @Context
                 javax.ws.rs.core.UriInfo uriInfo,
                 @Context
                 javax.ws.rs.core.HttpHeaders httpHeaders,
                 @Suspended
                 javax.ws.rs.container.AsyncResponse asyncResponse,
                 @Context
                 javax.ws.rs.core.SecurityContext securityContext)
        Ban a user in the room. If the user is currently in the room, also kick them.
        When a user is banned from a room, they may not join it or be invited to it until they are unbanned.
        The caller must have the required power level in order to perform this operation.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The user has been kicked and banned from the room.

        Status code 403: You do not have permission to ban the user from the room. A meaningful errcode and description error text will be returned. Example reasons for rejections are:

        • The banner is not currently in the room.
        • The banner's power level is insufficient to ban users from the room.
        Parameters:
        roomId - Required. The room identifier (not alias) from which the user should be banned.
        banRequest - JSON body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • unban

        @POST
        @Path("/rooms/{roomId}/unban")
        void unban​(@PathParam("roomId")
                   String roomId,
                   UnbanRequest unbanRequest,
                   @Context
                   javax.ws.rs.core.UriInfo uriInfo,
                   @Context
                   javax.ws.rs.core.HttpHeaders httpHeaders,
                   @Suspended
                   javax.ws.rs.container.AsyncResponse asyncResponse,
                   @Context
                   javax.ws.rs.core.SecurityContext securityContext)
        Unban a user from the room. This allows them to be invited to the room, and join if they would otherwise be allowed to join according to its join rules.
        The caller must have the required power level in order to perform this operation.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The user has been unbanned from the room.

        Status code 403: You do not have permission to unban the user from the room. A meaningful errcode and description error text will be returned. Example reasons for rejections are:

        • The unbanner's power level is insufficient to unban users from the room.
        Parameters:
        roomId - Required. The room identifier (not alias) from which the user should be unbanned.
        unbanRequest - JSON body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • getVisibility

        @GET
        @Path("/directory/list/room/{roomId}")
        void getVisibility​(@PathParam("roomId")
                           String roomId,
                           @Context
                           javax.ws.rs.core.UriInfo uriInfo,
                           @Context
                           javax.ws.rs.core.HttpHeaders httpHeaders,
                           @Suspended
                           javax.ws.rs.container.AsyncResponse asyncResponse)
        Gets the visibility of a given room on the server's public room directory.
        Return: RoomVisibility.

        Status code 200: The visibility of the room in the directory.

        Status code 404: The room is not known to the server.

        Parameters:
        roomId - Required. The room ID.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
      • setVisibility

        @PUT
        @Path("/directory/list/room/{roomId}")
        void setVisibility​(@PathParam("roomId")
                           String roomId,
                           RoomVisibility visibility,
                           @Context
                           javax.ws.rs.core.UriInfo uriInfo,
                           @Context
                           javax.ws.rs.core.HttpHeaders httpHeaders,
                           @Suspended
                           javax.ws.rs.container.AsyncResponse asyncResponse,
                           @Context
                           javax.ws.rs.core.SecurityContext securityContext)
        Sets the visibility of a given room in the server's public room directory.
        Servers may choose to implement additional access control checks here, for instance that room visibility can only be changed by the room creator or a server administrator.
        Requires auth: Yes.
        Return: EmptyResponse.

        Status code 200: The visibility was updated, or no change was needed.

        Status code 404: The room is not known to the server.

        Parameters:
        roomId - Required. The room ID.
        visibility - json body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • showPublicRooms

        @GET
        @Path("/publicRooms")
        void showPublicRooms​(@QueryParam("limit")
                             Long limit,
                             @QueryParam("since")
                             String since,
                             @QueryParam("server")
                             String server,
                             @Context
                             javax.ws.rs.core.UriInfo uriInfo,
                             @Context
                             javax.ws.rs.core.HttpHeaders httpHeaders,
                             @Suspended
                             javax.ws.rs.container.AsyncResponse asyncResponse)
        Lists the public rooms on the server.
        This API returns paginated responses. The rooms are ordered by the number of joined members, with the largest rooms first.
        Return: PublicRoomsResponse.

        Status code 200: A list of the rooms on the server.

        Parameters:
        limit - Limit the number of results returned.
        since - A pagination token from a previous request, allowing clients to get the next (or previous) batch of rooms. The direction of pagination is specified solely by which token is supplied, rather than via an explicit flag.
        server - The server to fetch the public room lists from. Defaults to the local server.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
      • searchPublicRooms

        @POST
        @Path("/publicRooms")
        void searchPublicRooms​(@QueryParam("server")
                               String server,
                               PublicRoomsRequest publicRoomsRequest,
                               @Context
                               javax.ws.rs.core.UriInfo uriInfo,
                               @Context
                               javax.ws.rs.core.HttpHeaders httpHeaders,
                               @Suspended
                               javax.ws.rs.container.AsyncResponse asyncResponse,
                               @Context
                               javax.ws.rs.core.SecurityContext securityContext)
        Lists the public rooms on the server, with optional filter.
        This API returns paginated responses. The rooms are ordered by the number of joined members, with the largest rooms first.
        Requires auth: Yes.
        Return: PublicRoomsResponse.

        Status code 200: A list of the rooms on the server.

        Parameters:
        server - The server to fetch the public room lists from. Defaults to the local server.
        publicRoomsRequest - JSON body request.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.
      • upgrade

        @POST
        @Path("/rooms/{roomId}/upgrade")
        void upgrade​(@PathParam("roomId")
                     String roomId,
                     NewVersion newVersion,
                     @Context
                     javax.ws.rs.core.UriInfo uriInfo,
                     @Context
                     javax.ws.rs.core.HttpHeaders httpHeaders,
                     @Context
                     javax.ws.rs.container.AsyncResponse asyncResponse,
                     @Context
                     javax.ws.rs.core.SecurityContext securityContext)
        Upgrades the given room to a particular room version, migrating as much data as possible over to the new room. See the room_upgrades module for more information on what this entails.
        Required Auth: Yes.
        Return: ReplacementRoom

        Status code 200: The room was successfully upgraded.

        Status code 400: The request was invalid. One way this can happen is if the room version requested is not supported by the homeserver.

        Status code 403: The user is not permitted to upgrade the room.

        Parameters:
        roomId - Required. The ID of the room to upgrade.
        newVersion - Required. The new version for the room.
        uriInfo - Request Information.
        httpHeaders - Http headers.
        asyncResponse - Asynchronous response.
        securityContext - Security context.