Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Simplify structure of room admin API docs #10313

Merged
merged 2 commits into from
Jul 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/10313.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Simplify structure of room admin API.
69 changes: 24 additions & 45 deletions docs/admin_api/rooms.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
# Contents
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since there's an auto-generated ToC at https://matrix-org.github.io/synapse/develop/admin_api/rooms.html, I'd be inclined to just get rid of this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think so, too. But there is a discussion in #10127 to resolve it with CSS.

- [List Room API](#list-room-api)
* [Parameters](#parameters)
* [Usage](#usage)
- [Room Details API](#room-details-api)
- [Room Members API](#room-members-api)
- [Room State API](#room-state-api)
- [Delete Room API](#delete-room-api)
* [Parameters](#parameters-1)
* [Response](#response)
* [Undoing room shutdowns](#undoing-room-shutdowns)
- [Make Room Admin API](#make-room-admin-api)
- [Forward Extremities Admin API](#forward-extremities-admin-api)
Expand All @@ -19,7 +15,7 @@ The List Room admin API allows server admins to get a list of rooms on their
server. There are various parameters available that allow for filtering and
sorting the returned list. This API supports pagination.

## Parameters
**Parameters**

The following query parameters are available:

Expand All @@ -46,6 +42,8 @@ The following query parameters are available:
* `search_term` - Filter rooms by their room name. Search term can be contained in any
part of the room name. Defaults to no filtering.

**Response**

The following fields are possible in the JSON response body:

* `rooms` - An array of objects, each containing information about a room.
Expand Down Expand Up @@ -79,17 +77,15 @@ The following fields are possible in the JSON response body:
Use `prev_batch` for the `from` value in the next request to
get the "previous page" of results.

## Usage
The API is:

A standard request with no filtering:

```
GET /_synapse/admin/v1/rooms

{}
```

Response:
A response body like the following is returned:

```jsonc
{
Expand Down Expand Up @@ -137,11 +133,9 @@ Filtering by room name:

```
GET /_synapse/admin/v1/rooms?search_term=TWIM

{}
```

Response:
A response body like the following is returned:

```json
{
Expand Down Expand Up @@ -172,11 +166,9 @@ Paginating through a list of rooms:

```
GET /_synapse/admin/v1/rooms?order_by=size

{}
```

Response:
A response body like the following is returned:

```jsonc
{
Expand Down Expand Up @@ -228,11 +220,9 @@ parameter to the value of `next_token`.

```
GET /_synapse/admin/v1/rooms?order_by=size&from=100

{}
```

Response:
A response body like the following is returned:

```jsonc
{
Expand Down Expand Up @@ -304,17 +294,13 @@ The following fields are possible in the JSON response body:
* `history_visibility` - Who can see the room history. One of: ["invited", "joined", "shared", "world_readable"].
* `state_events` - Total number of state_events of a room. Complexity of the room.

## Usage

A standard request:
The API is:

```
GET /_synapse/admin/v1/rooms/<room_id>

{}
```

Response:
A response body like the following is returned:

```json
{
Expand Down Expand Up @@ -347,17 +333,13 @@ The response includes the following fields:
* `members` - A list of all the members that are present in the room, represented by their ids.
* `total` - Total number of members in the room.

## Usage

A standard request:
The API is:

```
GET /_synapse/admin/v1/rooms/<room_id>/members

{}
```

Response:
A response body like the following is returned:

```json
{
Expand All @@ -378,17 +360,13 @@ The response includes the following fields:

* `state` - The current state of the room at the time of request.

## Usage

A standard request:
The API is:

```
GET /_synapse/admin/v1/rooms/<room_id>/state

{}
```

Response:
A response body like the following is returned:

```json
{
Expand Down Expand Up @@ -432,6 +410,7 @@ DELETE /_synapse/admin/v1/rooms/<room_id>
```

with a body of:

```json
{
"new_room_user_id": "@someuser:example.com",
Expand Down Expand Up @@ -461,7 +440,7 @@ A response body like the following is returned:
}
```

## Parameters
**Parameters**

The following parameters should be set in the URL:

Expand Down Expand Up @@ -491,7 +470,7 @@ The following JSON body parameters are available:

The JSON body must not be empty. The body must be at least `{}`.

## Response
**Response**

The following fields are returned in the JSON response body:

Expand Down Expand Up @@ -548,10 +527,10 @@ By default the server admin (the caller) is granted power, but another user can
optionally be specified, e.g.:

```
POST /_synapse/admin/v1/rooms/<room_id_or_alias>/make_room_admin
{
"user_id": "@foo:example.com"
}
POST /_synapse/admin/v1/rooms/<room_id_or_alias>/make_room_admin
{
"user_id": "@foo:example.com"
}
```

# Forward Extremities Admin API
Expand All @@ -565,7 +544,7 @@ extremities accumulate in a room, performance can become degraded. For details,
To check the status of forward extremities for a room:

```
GET /_synapse/admin/v1/rooms/<room_id_or_alias>/forward_extremities
GET /_synapse/admin/v1/rooms/<room_id_or_alias>/forward_extremities
```

A response as follows will be returned:
Expand All @@ -581,7 +560,7 @@ A response as follows will be returned:
"received_ts": 1611263016761
}
]
}
}
```

## Deleting forward extremities
Expand All @@ -594,7 +573,7 @@ If a room has lots of forward extremities, the extra can be
deleted as follows:

```
DELETE /_synapse/admin/v1/rooms/<room_id_or_alias>/forward_extremities
DELETE /_synapse/admin/v1/rooms/<room_id_or_alias>/forward_extremities
```

A response as follows will be returned, indicating the amount of forward extremities
Expand Down