gomatrix
gomatrix copied to clipboard
Endpoint checklist
This issue is tracking which endpoints need to be added to gomatrix. They are grouped by their appearance in the spec.
API Standards
- [x] GET /_matrix/client/versions
Login
- [x] POST /_matrix/client/r0/login
- [x] POST /_matrix/client/r0/logout
Account registration and management
- [x] POST /_matrix/client/r0/register
- [ ] POST /_matrix/client/r0/register/email/requestToken
- [ ] POST /_matrix/client/r0/account/password/email/requestToken
- [ ] POST /_matrix/client/r0/account/deactivate
- [ ] POST /_matrix/client/r0/account/password
Adding Account Administrative Contact Information
- [ ] GET /_matrix/client/r0/account/3pid
- [ ] POST /_matrix/client/r0/account/3pid
- [ ] POST /_matrix/client/r0/account/3pid/email/requestToken
Filtering
- [ ] GET /_matrix/client/r0/user/{userId}/filter/{filterId}
- [x] POST /_matrix/client/r0/user/{userId}/filter
Syncing
- [x] GET /_matrix/client/r0/sync
Getting events for a room
- [x] GET /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}
- [x] GET /_matrix/client/r0/rooms/{roomId}/state/{eventType}
- [ ] GET /_matrix/client/r0/rooms/{roomId}/state
- [x] GET /_matrix/client/r0/rooms/{roomId}/members
- [x] GET /_matrix/client/r0/rooms/{roomId}/messages
- [ ] GET /_matrix/client/r0/rooms/{roomId}/initialSync
Sending events to a room
- [x] PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}
- [x] PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}
- [x] PUT /_matrix/client/r0/rooms/{roomId}/send/{eventType}/{txnId}
Redactions
- [x] PUT /_matrix/client/r0/rooms/{roomId}/redact/{eventId}/{txnId}
Room creation
- [x] POST /_matrix/client/r0/createRoom
Room Aliases
- [ ] PUT /_matrix/client/r0/directory/room/{roomAlias}
- [ ] DELETE /_matrix/client/r0/directory/room/{roomAlias}
- [ ] GET /_matrix/client/r0/directory/room/{roomAlias}
Room Membership
- [x] POST /_matrix/client/r0/rooms/{roomId}/invite
- [x] POST /_matrix/client/r0/join/{roomIdOrAlias}
- [x] POST /_matrix/client/r0/rooms/{roomId}/join
- [x] POST /_matrix/client/r0/rooms/{roomId}/forget
- [x] POST /_matrix/client/r0/rooms/{roomId}/leave
- [x] POST /_matrix/client/r0/rooms/{roomId}/kick
- [x] POST /_matrix/client/r0/rooms/{roomId}/unban
- [x] POST /_matrix/client/r0/rooms/{roomId}/ban
Listing Rooms
- [ ] GET /_matrix/client/r0/publicRooms
- [ ] POST /_matrix/client/r0/publicRooms
Profiles
- [x] PUT /_matrix/client/r0/profile/{userId}/displayname
- [ ] GET /_matrix/client/r0/profile/{userId}/displayname
- [ ] PUT /_matrix/client/r0/profile/{userId}/avatar_url
- [ ] GET /_matrix/client/r0/profile/{userId}/avatar_url
- [ ] GET /_matrix/client/r0/profile/{userId}
VoIP
- [ ] GET /_matrix/client/r0/voip/turnServer
Typing
- [ ] PUT /_matrix/client/r0/rooms/{roomId}/typing/{userId}
Presence
- [ ] PUT /_matrix/client/r0/presence/{userId}/status
- [ ] GET /_matrix/client/r0/presence/{userId}/status
- [ ] POST /_matrix/client/r0/presence/list/{userId}
- [ ] GET /_matrix/client/r0/presence/list/{userId}
Content Repository
- [ ] GET /_matrix/media/r0/download/{serverName}/{mediaId}
- [x] POST /_matrix/media/r0/upload
- [ ] GET /_matrix/media/r0/thumbnail/{serverName}/{mediaId}
Send-to-device Messaging
- [ ] PUT /_matrix/client/r0/sendToDevice/{eventType}/{txnId}
Device Management
- [ ] GET /_matrix/client/r0/devices
- [ ] GET /_matrix/client/r0/devices/{deviceId}
- [ ] PUT /_matrix/client/r0/devices/{deviceId}
- [ ] DELETE /_matrix/client/r0/devices/{deviceId}
Push Notifications
- [ ] GET /_matrix/client/r0/pushers
- [ ] POST /_matrix/client/r0/pushers/set
- [ ] GET /_matrix/client/r0/notifications
- [ ] GET /_matrix/client/r0/pushrules/
- [ ] GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}
- [ ] DELETE /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}
- [ ] PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}
- [ ] GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled
- [ ] PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled
- [ ] GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions
- [ ] PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions
Search
- [ ] POST /_matrix/client/r0/search
Room Tagging
- [ ] PUT /_matrix/client/r0/user/{userId}/rooms/{roomId}/tags/{tag}
- [ ] DELETE /_matrix/client/r0/user/{userId}/rooms/{roomId}/tags/{tag}
- [ ] GET /_matrix/client/r0/user/{userId}/rooms/{roomId}/tags
Client Config
- [ ] PUT /_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data/{type}
- [ ] PUT /_matrix/client/r0/user/{userId}/account_data/{type}
Server Administration
- [ ] GET /_matrix/client/r0/admin/whois/{userId}
Event Context
- [ ] GET /_matrix/client/r0/rooms/{roomId}/context/{eventId}
AS Membership List APIs
- [x] GET /_matrix/client/r0/rooms/{roomId}/joined_members
- [x] GET /_matrix/client/r0/joined_rooms
GET /_matrix/client/r0/rooms/{roomId}/members GET /_matrix/client/r0/rooms/{roomId}/messages
these exist now afaict, implemented by client.JoinedMembers and client.Messages