Zulip homepage
API documentation home
Integrations
Interactive bots (beta)
REST API
- Overview
 - Installation instructions
 - API keys
 - Configuring the Python bindings
 - HTTP headers
 - Error handling
 - Roles and permissions
 - Client libraries
 - API changelog
 
Messages
- Send a message
 - Upload a file
 - Edit a message
 - Delete a message
 - Get messages
 - Construct a narrow
 - Add an emoji reaction
 - Remove an emoji reaction
 - Render a message
 - Fetch a single message
 - Check if messages match narrow
 - Get a message's edit history
 - Update personal message flags
 - Update personal message flags for narrow
 - Mark all messages as read
 - Mark messages in a stream as read
 - Mark messages in a topic as read
 - Get a message's read receipts
 
Scheduled messages
- Get scheduled messages
 - Create a scheduled message
 - Edit a scheduled message
 - Delete a scheduled message
 
Drafts
Streams
- Get subscribed streams
 - Subscribe to a stream
 - Unsubscribe from a stream
 - Get subscription status
 - Get all subscribers
 - Update subscription settings
 - Get all streams
 - Get a stream by ID
 - Get stream ID
 - Create a stream
 - Update a stream
 - Archive a stream
 - Get stream's email address
 - Get topics in a stream
 - Topic muting
 - Update personal preferences for a topic
 - Delete a topic
 - Add a default stream
 - Remove a default stream
 
Users
- Get all users
 - Get own user
 - Get a user
 - Get a user by email
 - Update a user
 - Update your status
 - Create a user
 - Deactivate a user
 - Reactivate a user
 - Deactivate own user
 - Set "typing" status
 - Get user presence
 - Get presence of all users
 - Get attachments
 - Delete an attachment
 - Update settings
 - Get user groups
 - Create a user group
 - Update a user group
 - Delete a user group
 - Update user group members
 - Update user group subgroups
 - Get user group membership status
 - Get user group members
 - Get subgroups of user group
 - Mute a user
 - Unmute a user
 - Get all alert words
 - Add alert words
 - Remove alert words
 
Server & organizations
- Get server settings
 - Get linkifiers
 - Add a linkifier
 - Update a linkifier
 - Remove a linkifier
 - Reorder linkifiers
 - Add a code playground
 - Remove a code playground
 - Get all custom emoji
 - Upload custom emoji
 - Deactivate custom emoji
 - Get all custom profile fields
 - Reorder custom profile fields
 - Create a custom profile field
 - Update realm-level defaults of user settings
 
Real-time events
Specialty endpoints
- Fetch an API key (production)
 - Fetch an API key (development only)
 - Send a test notification to mobile device(s)