Matrix
Operations Summary
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/matrix/credentials/ |
Get Matrix login credentials |
| GET | /api/matrix/exports/{uuid}/download/{kind}/ |
Download a Matrix history export file |
| GET | /api/matrix/exports/ |
List Matrix Exports |
| GET | /api/matrix/exports/{uuid}/ |
Retrieve |
| GET | /api/matrix/rooms/eligible_projects/ |
List projects the caller can create a Matrix room for |
| GET | /api/matrix/rooms/ |
List Matrix Rooms |
| GET | /api/matrix/rooms/{uuid}/members/ |
List room members |
| GET | /api/matrix/rooms/{uuid}/ |
Retrieve |
| POST | /api/matrix/rooms/ |
Create a Matrix room for a project |
| POST | /api/matrix/rooms/{uuid}/disable/ |
Disable an active chat room |
| POST | /api/matrix/rooms/{uuid}/export_history/ |
Trigger manual history export |
| POST | /api/matrix/rooms/{uuid}/join/ |
Join a chat room as staff |
| POST | /api/matrix/rooms/{uuid}/leave/ |
Leave a chat room as staff |
| POST | /api/matrix/rooms/{uuid}/reactivate/ |
Re-enable an archived chat room |
| POST | /api/matrix/rooms/{uuid}/retry/ |
Retry a stuck or failed room operation |
| POST | /api/matrix/rooms/{uuid}/sync_members/ |
Force sync room membership with project members |
| DELETE | /api/matrix/rooms/{uuid}/ |
Delete |
Get Matrix login credentials
Returns Matrix login credentials for the authenticated user based on the configured login method.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 | |
- API Source:
matrix_credentials_retrieve
1 2 3 4 5 6 7 8 9 10 | |
200 -
| Field | Type |
|---|---|
method |
string |
homeserver_url |
string |
matrix_user_id |
string |
password |
string |
login_token |
string |
oidc_provider_url |
string |
room_id |
string |
access_token |
string |
Download a Matrix history export file
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
- API Source:
matrix_exports_download_retrieve
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Name | Type | Required | Description |
|---|---|---|---|
kind |
string | ✓ | Which artifact to stream. Enum: export, media |
uuid |
string | ✓ |
200 -
List Matrix Exports
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- Model Source:
ExportTypeEnum - Model Source:
MatrixHistoryExportStateEnum - API Source:
matrix_exports_list
1 2 3 4 5 6 7 8 9 10 | |
| Name | Type | Description |
|---|---|---|
export_type |
string | Enum: periodic, on_deletion, manual |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
room_uuid |
string (uuid) | Room UUID |
state |
string | Enum: pending, exporting, completed, failed |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type |
|---|---|
uuid |
string (uuid) |
url |
string (uri) |
room_uuid |
string (uuid) |
room_name |
string |
export_type |
any |
message_count |
integer |
media_count |
integer |
state |
any |
error_message |
string |
export_file_url |
string |
media_file_url |
string |
started_at |
string (date-time) |
completed_at |
string (date-time) |
created |
string (date-time) |
Retrieve
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_exports_retrieve
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
200 -
| Field | Type |
|---|---|
uuid |
string (uuid) |
url |
string (uri) |
room_uuid |
string (uuid) |
room_name |
string |
export_type |
any |
message_count |
integer |
media_count |
integer |
state |
any |
error_message |
string |
export_file_url |
string |
media_file_url |
string |
started_at |
string (date-time) |
completed_at |
string (date-time) |
created |
string (date-time) |
List projects the caller can create a Matrix room for
Returns projects where the caller is customer owner (staff sees all) and no MatrixRoom row exists yet. Existing archived rooms still block creation, so projects with any room are excluded.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 | |
- Model Source:
MatrixRoomStateEnum - API Source:
matrix_rooms_eligible_projects_list
1 2 3 4 5 6 7 8 9 10 | |
| Name | Type | Description |
|---|---|---|
customer_uuid |
string | Limit results to projects under this customer. |
member |
boolean | Only rooms the current user is a member of |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
project_uuid |
string (uuid) | Project UUID |
state |
string | Enum: creating, active, disabling, archived, error |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type |
|---|---|
uuid |
string |
name |
string |
customer_uuid |
string |
customer_name |
string |
List Matrix Rooms
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 | |
- Model Source:
MatrixRoomStateEnum - API Source:
matrix_rooms_list
1 2 3 4 5 6 7 8 9 10 | |
| Name | Type | Description |
|---|---|---|
member |
boolean | Only rooms the current user is a member of |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
project_uuid |
string (uuid) | Project UUID |
state |
string | Enum: creating, active, disabling, archived, error |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
List room members
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
- Model Source:
MatrixRoomStateEnum - API Source:
matrix_rooms_members_list
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
| Name | Type | Description |
|---|---|---|
member |
boolean | Only rooms the current user is a member of |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
project_uuid |
string (uuid) | Project UUID |
state |
string | Enum: creating, active, disabling, archived, error |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type |
|---|---|
uuid |
string (uuid) |
user_uuid |
string (uuid) |
user_full_name |
string |
user_image |
string (uri) |
matrix_user_id |
string |
power_level |
integer |
membership_state |
any |
created |
string (date-time) |
modified |
string (date-time) |
Retrieve
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_retrieve
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
200 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Create a Matrix room for a project
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
- Model Source:
MatrixRoomCreateRequest - API Source:
matrix_rooms_create
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Field | Type | Required |
|---|---|---|
project |
string (uuid) | ✓ |
201 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Disable an active chat room
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
- Model Source:
MatrixRoomDisableRequest - API Source:
matrix_rooms_disable
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
| Field | Type | Required |
|---|---|---|
delete_history |
boolean |
202 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Trigger manual history export
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_export_history
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
202 -
| Field | Type |
|---|---|
uuid |
string (uuid) |
url |
string (uri) |
room_uuid |
string (uuid) |
room_name |
string |
export_type |
any |
message_count |
integer |
media_count |
integer |
state |
any |
error_message |
string |
export_file_url |
string |
media_file_url |
string |
started_at |
string (date-time) |
completed_at |
string (date-time) |
created |
string (date-time) |
Join a chat room as staff
Staff self-join: provisions the caller, adds them with a Moderator badge (power level 50), and posts a bot announcement.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_join
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
202 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Leave a chat room as staff
Staff self-leave: posts a bot announcement and removes the caller from the room.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_leave
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
202 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Re-enable an archived chat room
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_reactivate
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
202 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Retry a stuck or failed room operation
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_retry
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
202 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
room_id |
string | Matrix room ID, e.g. !abc:domain |
room_name |
string | |
room_alias |
string | Matrix room alias, e.g. #project-name:domain |
state |
any | |
error_message |
string | |
scope |
string | |
scope_uuid |
string | |
scope_name |
string | |
customer_uuid |
string | |
customer_name |
string | |
members_count |
integer | |
members |
array of objects | |
members.user_full_name |
string | |
members.matrix_user_id |
string | |
members.membership_state |
string | |
current_user_membership_state |
string | |
created |
string (date-time) | |
modified |
string (date-time) |
Force sync room membership with project members
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_sync_members
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
202 - No response body
Delete
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
matrix_rooms_destroy
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
204 - No response body