CINXE.COM
Zulip API documentation
<!DOCTYPE html> <html lang='en' > <head> <meta charset="UTF-8" /> <title>Zulip API documentation</title> <link id="favicon" rel="icon" href="https://static.zulipchat.com/static/images/favicon.svg?v=4" /> <link rel="alternate icon" href="https://static.zulipchat.com/static/images/favicon.png?v=4" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <!-- Google / search engine tags --> <meta name="robots" content="noindex,nofollow" /> <!-- Open Graph / Facebook / Twitter meta tags --> <meta property="og:url" content="https://kvrocks.zulipchat.com/api/" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="Zulip" /> <meta property="og:title" content="Zulip API documentation" /> <meta property="og:description" content="Zulip's APIs allow you to integrate other services with Zulip. This guide should help you find the API you need: | And if you still need to build your own integration with Zulip, check out the full REST API, generally starting with installing the API client bindings. | In case you already know how you want to build your integration and you're just looking for an API key, we've got you covered here. | Your feedback helps us make Zulip better for everyone! Please contact us with questions, suggestions, and feature requests." /> <meta property="og:image" content="https://avatars.zulip.com/67956/realm/icon.png?version=2" /> <meta name="twitter:card" content="summary" /> <script id="sentry-params" type="text/json">{"dsn":"https://26bb474451d946d6892d649ac54c3182@o48127.ingest.sentry.io/4504556882821120","environment":"production","realm_key":"kvrocks","sample_rate":1.0,"server_version":"10.0-119-g111c1357ad","trace_rate":0}</script> <script src="https://static.zulipchat.com/static/webpack-bundles/2449.944de03eb5e5da034cd6.js" defer crossorigin="anonymous" ></script> <link href="https://static.zulipchat.com/static/webpack-bundles/2037.f2f30a92cfcd4ad3856e.css" rel="stylesheet" /> <script src="https://static.zulipchat.com/static/webpack-bundles/2037.b43fc5e8afcd5cefa42e.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/5059.e28c17251151ed77f1a6.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/3355.bae18f829f5940205f32.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/2655.24821712b3fb786d39cf.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/6627.24b09bbbcf4bcf66b045.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/3942.ec4a1268b548f19a6422.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/5953.d8d07309fee34d8c040f.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/2140.c8452c0ab5afbda014db.js" defer crossorigin="anonymous" ></script> <link href="https://static.zulipchat.com/static/webpack-bundles/4355.dc92187fb75198a481ed.css" rel="stylesheet" /> <script src="https://static.zulipchat.com/static/webpack-bundles/5683.a82a5f136fe71a1aff4d.js" defer crossorigin="anonymous" ></script> <link href="https://static.zulipchat.com/static/webpack-bundles/4904.6ec91743d1bd1a47c5f5.css" rel="stylesheet" /> <link href="https://static.zulipchat.com/static/webpack-bundles/2621.095662340ad864434b95.css" rel="stylesheet" /> <script src="https://static.zulipchat.com/static/webpack-bundles/7863.8acc6fb297a8994cb735.js" defer crossorigin="anonymous" ></script> <script src="https://static.zulipchat.com/static/webpack-bundles/5693.62c023ee96922b3b2dc1.js" defer crossorigin="anonymous" ></script> <link href="https://static.zulipchat.com/static/webpack-bundles/help.646c85a4aca484af1c10.css" rel="stylesheet" /> <script src="https://static.zulipchat.com/static/webpack-bundles/help.8ecfe62fb708159a6c87.js" defer crossorigin="anonymous" ></script> </head> <body> <div class="portico-container help"> <div class="portico-wrap"> <div class="header portico-header"> <div class="header-main" id="top_navbar"> <a id="skip-navigation" href="#main-content">Skip to main content</a> <div class="float-left"> <div class="brand logo"> <a href="https://zulipchat.com/"> <svg class="brand-logo" role="img" aria-label="Zulip" xmlns="http://www.w3.org/2000/svg" viewBox="68.96 55.62 1742.12 450.43" height="25"> <path fill="hsl(0, 0%, 27%)" d="M473.09 122.97c0 22.69-10.19 42.85-25.72 55.08L296.61 312.69c-2.8 2.4-6.44-1.47-4.42-4.7l55.3-110.72c1.55-3.1-.46-6.91-3.64-6.91H129.36c-33.22 0-60.4-30.32-60.4-67.37 0-37.06 27.18-67.37 60.4-67.37h283.33c33.22-.02 60.4 30.3 60.4 67.35zM129.36 506.05h283.33c33.22 0 60.4-30.32 60.4-67.37 0-37.06-27.18-67.37-60.4-67.37H198.2c-3.18 0-5.19-3.81-3.64-6.91l55.3-110.72c2.02-3.23-1.62-7.1-4.42-4.7L94.68 383.6c-15.53 12.22-25.72 32.39-25.72 55.08 0 37.05 27.18 67.37 60.4 67.37zm522.5-124.15l124.78-179.6v-1.56H663.52v-48.98h190.09v34.21L731.55 363.24v1.56h124.01v48.98h-203.7V381.9zm338.98-230.14V302.6c0 45.09 17.1 68.03 47.43 68.03 31.1 0 48.2-21.77 48.2-68.03V151.76h59.09V298.7c0 80.86-40.82 119.34-109.24 119.34-66.09 0-104.96-36.54-104.96-120.12V151.76h59.48zm244.91 0h59.48v212.25h104.18v49.76h-163.66V151.76zm297 0v262.01h-59.48V151.76h59.48zm90.18 3.5c18.27-3.11 43.93-5.44 80.08-5.44 36.54 0 62.59 7 80.08 20.99 16.72 13.22 27.99 34.99 27.99 60.64 0 25.66-8.55 47.43-24.1 62.2-20.21 19.05-50.15 27.6-85.13 27.6-7.77 0-14.77-.39-20.21-1.17v93.69h-58.7V155.26zm58.7 118.96c5.05 1.17 11.27 1.55 19.83 1.55 31.49 0 50.92-15.94 50.92-42.76 0-24.1-16.72-38.49-46.26-38.49-12.05 0-20.21 1.17-24.49 2.33v77.37z"/> </svg> </a> <span class="light portico-header-text"> | <a href="https://zulipchat.com/api/">API documentation</a></span> </div> </div> <div class="float-right top-links"> <a href="/login/">Log in</a> <a href="/register/">Sign up</a> </div> </div> </div> <div class="app portico-page"> <div class="app-main portico-page-container"> <div class="app help terms-page inline-block api-center"> <div class="sidebar"> <div class="content"> <h1><a href="https://zulip.com" class="no-underline">Zulip homepage</a></h1> <h1><a class="no-underline highlighted" href="/api/">API documentation home</a></h1><h2>Integrations</h2> <ul> <li><a href="/api/integrations-overview">Overview</a></li> <li><a href="/api/incoming-webhooks-overview">Incoming webhook integrations</a></li> <li><a href="/api/incoming-webhooks-walkthrough">Hello world walkthrough</a></li> <li><a href="/api/non-webhook-integrations">Non-webhook integrations</a></li> </ul> <h2>Interactive bots (beta)</h2> <ul> <li><a href="/api/running-bots">Running bots</a></li> <li><a href="/api/deploying-bots">Deploying bots</a></li> <li><a href="/api/writing-bots">Writing bots</a></li> <li><a href="/api/outgoing-webhooks">Outgoing webhooks</a></li> </ul> <h2>REST API</h2> <ul> <li><a href="/api/rest">Overview</a></li> <li><a href="/api/installation-instructions">Installation instructions</a></li> <li><a href="/api/api-keys">API keys</a></li> <li><a href="/api/configuring-python-bindings">Configuring the Python bindings</a></li> <li><a href="/api/http-headers">HTTP headers</a></li> <li><a href="/api/rest-error-handling">Error handling</a></li> <li><a href="/api/roles-and-permissions">Roles and permissions</a></li> <li><a href="/api/group-setting-values">Group-setting values</a></li> <li><a href="/api/message-formatting">Message formatting</a></li> <li><a href="/api/client-libraries">Client libraries</a></li> <li><a href="/api/changelog">API changelog</a></li> </ul> <h4>Messages</h4> <ul> <li><a href="/api/send-message">Send a message</a></li> <li><a href="/api/upload-file">Upload a file</a></li> <li><a href="/api/update-message">Edit a message</a></li> <li><a href="/api/delete-message">Delete a message</a></li> <li><a href="/api/get-messages">Get messages</a></li> <li><a href="/api/construct-narrow">Construct a narrow</a></li> <li><a href="/api/add-reaction">Add an emoji reaction</a></li> <li><a href="/api/remove-reaction">Remove an emoji reaction</a></li> <li><a href="/api/render-message">Render a message</a></li> <li><a href="/api/get-message">Fetch a single message</a></li> <li><a href="/api/check-messages-match-narrow">Check if messages match a narrow</a></li> <li><a href="/api/get-message-history">Get a message's edit history</a></li> <li><a href="/api/update-message-flags">Update personal message flags</a></li> <li><a href="/api/update-message-flags-for-narrow">Update personal message flags for narrow</a></li> <li><a href="/api/mark-all-as-read">Mark all messages as read</a></li> <li><a href="/api/mark-stream-as-read">Mark messages in a channel as read</a></li> <li><a href="/api/mark-topic-as-read">Mark messages in a topic as read</a></li> <li><a href="/api/get-read-receipts">Get a message's read receipts</a></li> </ul> <h4>Scheduled messages</h4> <ul> <li><a href="/api/get-scheduled-messages">Get scheduled messages</a></li> <li><a href="/api/create-scheduled-message">Create a scheduled message</a></li> <li><a href="/api/update-scheduled-message">Edit a scheduled message</a></li> <li><a href="/api/delete-scheduled-message">Delete a scheduled message</a></li> </ul> <h4>Drafts</h4> <ul> <li><a href="/api/get-drafts">Get drafts</a></li> <li><a href="/api/create-drafts">Create drafts</a></li> <li><a href="/api/edit-draft">Edit a draft</a></li> <li><a href="/api/delete-draft">Delete a draft</a></li> <li><a href="/api/get-saved-snippets">Get all saved snippets</a></li> <li><a href="/api/create-saved-snippet">Create a saved snippet</a></li> <li><a href="/api/edit-saved-snippet">Edit a saved snippet</a></li> <li><a href="/api/delete-saved-snippet">Delete a saved snippet</a></li> </ul> <h4>Channels</h4> <ul> <li><a href="/api/get-subscriptions">Get subscribed channels</a></li> <li><a href="/api/subscribe">Subscribe to a channel</a></li> <li><a href="/api/unsubscribe">Unsubscribe from a channel</a></li> <li><a href="/api/get-subscription-status">Get subscription status</a></li> <li><a href="/api/get-subscribers">Get channel subscribers</a></li> <li><a href="/api/update-subscription-settings">Update subscription settings</a></li> <li><a href="/api/get-streams">Get all channels</a></li> <li><a href="/api/get-stream-by-id">Get a channel by ID</a></li> <li><a href="/api/get-stream-id">Get channel ID</a></li> <li><a href="/api/create-stream">Create a channel</a></li> <li><a href="/api/update-stream">Update a channel</a></li> <li><a href="/api/archive-stream">Archive a channel</a></li> <li><a href="/api/get-stream-email-address">Get channel's email address</a></li> <li><a href="/api/get-stream-topics">Get topics in a channel</a></li> <li><a href="/api/mute-topic">Topic muting</a></li> <li><a href="/api/update-user-topic">Update personal preferences for a topic</a></li> <li><a href="/api/delete-topic">Delete a topic</a></li> <li><a href="/api/add-default-stream">Add a default channel</a></li> <li><a href="/api/remove-default-stream">Remove a default channel</a></li> </ul> <h4>Users</h4> <ul> <li><a href="/api/get-user">Get a user</a></li> <li><a href="/api/get-user-by-email">Get a user by email</a></li> <li><a href="/api/get-own-user">Get own user</a></li> <li><a href="/api/get-users">Get all users</a></li> <li><a href="/api/create-user">Create a user</a></li> <li><a href="/api/update-user">Update a user</a></li> <li><a href="/api/update-user-by-email">Update a user by email</a></li> <li><a href="/api/deactivate-user">Deactivate a user</a></li> <li><a href="/api/deactivate-own-user">Deactivate own user</a></li> <li><a href="/api/reactivate-user">Reactivate a user</a></li> <li><a href="/api/get-user-status">Get a user's status</a></li> <li><a href="/api/update-status">Update your status</a></li> <li><a href="/api/set-typing-status">Set "typing" status</a></li> <li><a href="/api/set-typing-status-for-message-edit">Set "typing" status for message editing</a></li> <li><a href="/api/get-user-presence">Get a user's presence</a></li> <li><a href="/api/get-presence">Get presence of all users</a></li> <li><a href="/api/update-presence">Update your presence</a></li> <li><a href="/api/get-attachments">Get attachments</a></li> <li><a href="/api/remove-attachment">Delete an attachment</a></li> <li><a href="/api/update-settings">Update settings</a></li> <li><a href="/api/get-user-groups">Get user groups</a></li> <li><a href="/api/create-user-group">Create a user group</a></li> <li><a href="/api/update-user-group">Update a user group</a></li> <li><a href="/api/deactivate-user-group">Deactivate a user group</a></li> <li><a href="/api/update-user-group-members">Update user group members</a></li> <li><a href="/api/update-user-group-subgroups">Update subgroups of a user group</a></li> <li><a href="/api/get-is-user-group-member">Get user group membership status</a></li> <li><a href="/api/get-user-group-members">Get user group members</a></li> <li><a href="/api/get-user-group-subgroups">Get subgroups of a user group</a></li> <li><a href="/api/mute-user">Mute a user</a></li> <li><a href="/api/unmute-user">Unmute a user</a></li> <li><a href="/api/get-alert-words">Get all alert words</a></li> <li><a href="/api/add-alert-words">Add alert words</a></li> <li><a href="/api/remove-alert-words">Remove alert words</a></li> </ul> <h4>Invitations</h4> <ul> <li><a href="/api/get-invites">Get all invitations</a></li> <li><a href="/api/send-invites">Send invitations</a></li> <li><a href="/api/create-invite-link">Create a reusable invitation link</a></li> <li><a href="/api/resend-email-invite">Resend an email invitation</a></li> <li><a href="/api/revoke-email-invite">Revoke an email invitation</a></li> <li><a href="/api/revoke-invite-link">Revoke a reusable invitation link</a></li> </ul> <h4>Server & organizations</h4> <ul> <li><a href="/api/get-server-settings">Get server settings</a></li> <li><a href="/api/get-linkifiers">Get linkifiers</a></li> <li><a href="/api/add-linkifier">Add a linkifier</a></li> <li><a href="/api/update-linkifier">Update a linkifier</a></li> <li><a href="/api/remove-linkifier">Remove a linkifier</a></li> <li><a href="/api/reorder-linkifiers">Reorder linkifiers</a></li> <li><a href="/api/add-code-playground">Add a code playground</a></li> <li><a href="/api/remove-code-playground">Remove a code playground</a></li> <li><a href="/api/get-custom-emoji">Get all custom emoji</a></li> <li><a href="/api/upload-custom-emoji">Upload custom emoji</a></li> <li><a href="/api/deactivate-custom-emoji">Deactivate custom emoji</a></li> <li><a href="/api/get-custom-profile-fields">Get all custom profile fields</a></li> <li><a href="/api/reorder-custom-profile-fields">Reorder custom profile fields</a></li> <li><a href="/api/create-custom-profile-field">Create a custom profile field</a></li> <li><a href="/api/update-realm-user-settings-defaults">Update realm-level defaults of user settings</a></li> <li><a href="/api/get-realm-exports">Get all data exports</a></li> <li><a href="/api/export-realm">Create a data export</a></li> <li><a href="/api/get-realm-export-consents">Get data export consent state</a></li> </ul> <h4>Real-time events</h4> <ul> <li><a href="/api/real-time-events">Real time events API</a></li> <li><a href="/api/register-queue">Register an event queue</a></li> <li><a href="/api/get-events">Get events from an event queue</a></li> <li><a href="/api/delete-queue">Delete an event queue</a></li> </ul> <h4>Specialty endpoints</h4> <ul> <li><a href="/api/fetch-api-key">Fetch an API key (production)</a></li> <li><a href="/api/dev-fetch-api-key">Fetch an API key (development only)</a></li> <li><a href="/api/test-notify">Send a test notification to mobile device(s)</a></li> <li><a href="/api/add-apns-token">Add an APNs device token</a></li> <li><a href="/api/remove-apns-token">Remove an APNs device token</a></li> <li><a href="/api/add-fcm-token">Add an FCM registration token</a></li> <li><a href="/api/remove-fcm-token">Remove an FCM registration token</a></li> <li><a href="/api/create-big-blue-button-video-call">Create BigBlueButton video call</a></li> </ul> <h1 class="home-link"><a href="/" class="no-underline">Back to Zulip</a></h1> </div> </div> <svg height="32px" class="hamburger" style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" width="32px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z"></path> </svg> <div class="markdown"> <div class="content" id="main-content"> <h1 id="the-zulip-api">The Zulip API</h1> <p>Zulip's APIs allow you to integrate other services with Zulip. This guide should help you find the API you need:</p> <ul> <li>First, check if the tool you'd like to integrate with Zulip <a href="/integrations/">already has a native integration</a>.</li> <li>Next, check if <a href="https://zapier.com/apps">Zapier</a> or <a href="https://ifttt.com/search">IFTTT</a> has an integration. <a href="/integrations/doc/zapier">Zulip's Zapier integration</a> and <a href="/integrations/doc/ifttt">Zulip's IFTTT integration</a> often allow integrating a new service with Zulip without writing any code.</li> <li>If you'd like to send content into Zulip, you can <a href="/api/incoming-webhooks-overview">write a native incoming webhook integration</a> or use <a href="/api/send-message">Zulip's API for sending messages</a>.</li> <li>If you're building an interactive bot that reacts to activity inside Zulip, you'll want to look at Zulip's <a href="/api/running-bots">Python framework for interactive bots</a> or <a href="/api/get-events">Zulip's real-time events API</a>.</li> </ul> <p>And if you still need to build your own integration with Zulip, check out the full <a href="/api/rest">REST API</a>, generally starting with <a href="/api/installation-instructions">installing the API client bindings</a>.</p> <p>In case you already know how you want to build your integration and you're just looking for an API key, we've got you covered <a href="/api/api-keys">here</a>.</p> <div class="documentation-footer"> <hr /> <p>Your feedback helps us make Zulip better for everyone! Please <a href="/help/contact-support">contact us</a> with questions, suggestions, and feature requests.</p> </div> </div> </div> </div> </div> </div> </div> </div> <div hidden id="page-params" data-params='{"page_type":"default","development_environment":false,"request_language":"en","google_analytics_id":"UA-79921909-3"}'></div> </body> </html>