Zulip Messages API

The messages API from Zulip — 16 operation(s) for messages.

Operations 20

POST /mark_all_as_read Mark all messages as read #
POST /mark_stream_as_read Mark messages in a channel as read #
POST /mark_topic_as_read Mark messages in a topic as read #
GET /messages Get messages #
POST /messages Send a message #
GET /messages/{message_id}/history Get a message's edit history #
POST /messages/flags Update personal message flags #
POST /messages/flags/narrow Update personal message flags for narrow #
POST /messages/render Render a message #
POST /messages/{message_id}/reactions Add an emoji reaction #
DELETE /messages/{message_id}/reactions Remove an emoji reaction #
GET /messages/{message_id}/read_receipts Get a message's read receipts #
GET /messages/matches_narrow Check if messages match a narrow #
GET /messages/{message_id} Fetch a single message #
PATCH /messages/{message_id} Edit a message #
DELETE /messages/{message_id} Delete a message #
POST /messages/{message_id}/report Report a message #
POST /user_uploads Upload a file #
GET /thumbnail/status/{realm_id_str}/{filename} Check thumbnail status #
GET /user_uploads/{realm_id_str}/{filename} Get public temporary URL for an uploaded file #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zulip-messages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zulip-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Zulip REST Messages API
  description: Powerful open source group chat
  contact:
    url: https://zulip.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://{subdomain}.zulipchat.com/api/v1
  variables:
    subdomain:
      default: example
- url: '{server}/api/v1'
  variables:
    server:
      default: https://
- url: https://chat.zulip.org/api/v1
- url: http://localhost:9991/api/v1
- url: http://{subdomain}.testserver/json
security:
- basicAuth: []
tags:


# --- truncated at 32 KB (137 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zulip/refs/heads/main/openapi/zulip-messages-api-openapi.yml