## Messages - [x] Send a message (tested) - [ ] Upload a file - [x] Edit a message - [x] Delete a message (tested) - [x] Get messages (tested) - [ ] Construct a narrow - [x] Add an emoji reaction - [x] Remove an emoji reaction - [ ] Render a message - [ ] Get a message's raw Markdown - [ ] Check messages match narrow - [ ] Get a message's edit history - [ ] Update personal message flags - [ ] Mark messages as read in bulk ## Streams - [ ] Get subscribed streams - [ ] Subscribe to a stream - [ ] Unsubscribe from a stream - [ ] Get subscription status - [ ] Update subscription settings - [ ] Get all streams - [ ] Get stream ID - [ ] Create a stream - [ ] Update a stream - [ ] Archive a stream - [ ] Get topics in a stream - [ ] Topic muting ## Users - [ ] Get all users - [ ] Get own user - [ ] Get a user - [ ] Get a user by email - [ ] Update a user - [ ] Create a user - [ ] Deactivate a user - [ ] Reactivate a user - [ ] Deactivate own user - [ ] Set "typing" status - [ ] Get user presence - [ ] Get attachments - [ ] Update display settings - [ ] Update notification settings - [ ] Get user groups - [ ] Create a user group - [ ] Update a user group - [ ] Delete a user group - [ ] Update user group members - [ ] Mute a user - [ ] Unmute a user ## Server & organizations - [ ] Get server settings - [ ] Get linkifiers - [ ] Add a linkifier - [ ] Update a linkifier - [ ] Remove a linkifier - [ ] Add a playground - [ ] Remove a playground - [ ] Get all custom emoji - [ ] Upload custom emoji - [ ] Get all custom profile fields - [ ] Reorder custom profile fields - [ ] Create a custom profile field ## Real-time events - [ ] Real time events API - [ ] Register an event queue - [ ] Get events from an event queue - [ ] Delete an event queue ## Specialty endpoints - [ ] Fetch an API key (production) - [ ] Fetch an API key (development only)