How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zulip users API

The users API from Zulip — 29 operation(s) for users.

Zulip users API is one of 17 APIs that Zulip publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include User. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 43 operations across 29 paths, and defines 18 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against 5 base URLs: https://{subdomain}.zulipchat.com/api/v1, {server}/api/v1, https://chat.zulip.org/api/v1, http://localhost:9991/api/v1, http://{subdomain}.testserver/json.

43 operations 29 paths 18 schemas 8 DELETE13 GET5 PATCH17 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Servers
https://{subdomain}.zulipchat.com/api/v1
{server}/api/v1
https://chat.zulip.org/api/v1
http://localhost:9991/api/v1
http://{subdomain}.testserver/json
Authentication
HTTP Basic
License
Resource Areas
1

Authentication & Security 1

Zulip users API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

  • BasicAuth — Basic authentication, with the user's email as the username, and the API key as the password. The API key can be fetched using the /fetchapikey or /devfetchapi…

Paths & Operations 43

Across 29 paths, the API surfaces 43 operations — 8 DELETE, 13 GET, 5 PATCH, 17 POST. Each is listed below with its method, path, parameters, and response codes.

users 43
GET
/attachments
Get attachments
get-attachments → 200
DELETE
/attachments/{attachment_id}
Delete an attachment
remove-attachment 1 param → 200400401
GET
/users
Get users
get-users 3 params → 200
POST
/users
Create a user
create-user body → 200400
POST
/users/{user_id}/reactivate
Reactivate a user
reactivate-user 1 param → 200
POST
/users/{user_id}/status
Update user status
update-status-for-user 1 param body → 200400
GET
/users/{user_id}/status
Get a user's status
get-user-status 1 param → 200400
GET
/users/{user_id_or_email}/presence
Get a user's presence
get-user-presence 1 param → 200
GET
/users/me
Get own user
get-own-user → 200
DELETE
/users/me
Deactivate own user
deactivate-own-user → 200400
POST
/users/me/api_key/regenerate
Regenerate your API key
regenerate-api-key → 200
GET
/users/me/alert_words
Get all alert words
get-alert-words → 200
POST
/users/me/alert_words
Add alert words
add-alert-words body → 200400
DELETE
/users/me/alert_words
Remove alert words
remove-alert-words body → 200
POST
/users/me/presence
Update your presence
update-presence body → 200
PATCH
/users/me/profile_data
Update your profile data
update-profile-data body → 200400
DELETE
/users/me/profile_data
Remove your profile data
remove-profile-data body → 200400
POST
/users/me/status
Update your status
update-status body → 200400
POST
/users/me/muted_users/{muted_user_id}
Mute a user
mute-user 1 param → 200400
DELETE
/users/me/muted_users/{muted_user_id}
Unmute a user
unmute-user 1 param → 200400
POST
/users/me/apns_device_tokendeprecated
Add an APNs device token
add-apns-token body → 200400
DELETE
/users/me/apns_device_tokendeprecated
Remove an APNs device token
remove-apns-token body → 200400
POST
/users/me/android_gcm_reg_iddeprecated
Add an FCM registration token
add-fcm-token body → 200400
DELETE
/users/me/android_gcm_reg_iddeprecated
Remove an FCM registration token
remove-fcm-token body → 200400
GET
/users/{email}
Get a user by email
get-user-by-email 3 params → 200
PATCH
/users/{email}
Update a user by email
update-user-by-email 1 param body → 200400
GET
/users/{user_id}
Get a user
get-user 3 params → 200
PATCH
/users/{user_id}
Update a user
update-user 1 param body → 200400
DELETE
/users/{user_id}
Deactivate a user
deactivate-user 2 params body → 200400
PATCH
/settings
Update settings
update-settings body → 200
POST
/typing
Set "typing" status
set-typing-status body → 200400
POST
/messages/{message_id}/typing
Set "typing" status for message editing
set-typing-status-for-message-edit 1 param body → 200
POST
/user_groups/create
Create a user group
create-user-group body → 200400
POST
/user_groups/{user_group_id}/members
Update user group members
update-user-group-members 1 param body → 200
GET
/user_groups/{user_group_id}/members
Get user group members
get-user-group-members 2 params → 200
PATCH
/user_groups/{user_group_id}
Update a user group
update-user-group 1 param body → 200400
GET
/user_groups
Get user groups
get-user-groups body → 200
POST
/user_groups/{user_group_id}/subgroups
Update subgroups of a user group
update-user-group-subgroups 1 param body → 200
GET
/user_groups/{user_group_id}/subgroups
Get subgroups of a user group
get-user-group-subgroups 2 params → 200
GET
/user_groups/{user_group_id}/members/{user_id}
Get user group membership status
get-is-user-group-member 3 params → 200
POST
/user_groups/{user_group_id}/deactivate
Deactivate a user group
deactivate-user-group 1 param → 200400
GET
/bots/{bot_id}/api_key
Get a bot's API key
get-bot-api-key 1 param → 200400
POST
/bots/{bot_id}/api_key/regenerate
Regenerate a bot's API key
regenerate-bot-api-key 1 param → 200400

Schemas 18

The contract defines 18 schemas that model the data the API accepts and returns. The most detailed are UserBase (18 properties), Attachment (6 properties), UserStatus (5 properties), LegacyPresenceFormat (4 properties). Each schema is shown below with its type and property counts.

IgnoredParametersSuccess
Changes: The [ignoredparametersunsupported][ignoredparams] array was added as a possible return value for all REST API endpoint JSON success responses in Zulip…
IgnoredParametersUnsupported
array
An array of any parameters sent in the request that are not supported by the endpoint. See [error handling](/api/rest-error-handlingignored-parameters) documen…
CodedErrorBase
Attachment
object
Dictionary containing details of a file uploaded by a user.
6 properties
ProfileData
object
Only present if isbot is false; bots can't have custom profile fields. A dictionary containing custom profile field data for the user. Each entry maps the inte…
LegacyPresenceFormat
object
{clientname} or "aggregated": Object containing the details of the user's presence. Changes: Starting with Zulip 7.0 (feature level 178), this will always cont…
4 properties
CodedError
IgnoredParametersBase
GroupSettingValueUpdate
object
2 properties 1 required
ModernPresenceFormat
object
{userid}: Presence data (modern format) for the user with the specified ID.
2 properties
UserBase
object
A dictionary containing basic data on a given Zulip user. Changes: Removed isbillingadmin field in Zulip 10.0 (feature level 363), as it was replaced by the ca…
18 properties
JsonSuccessBase
Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include…
GroupSettingValue
ProfileDataUpdate
object
2 properties 2 required
User
JsonResponseBase
object
1 property
JsonSuccess
UserStatus
object
5 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

zulip-users-api-openapi.yml Raw ↑

Other APIs Zulip publishes across the network.

Zulip REST API
Zulip Events API
Zulip Webhooks
Zulip authentication API
Zulip bots API
Zulip channels API
Zulip drafts API
Zulip invites API
Zulip messages API
Zulip mobile API
Zulip navigation_views API
Zulip real_time_events API
Where this information came from

This is an independent, third-party profile of Zulip users API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.