Get all streams
Get all streams that the user has access to.
GET https://zulip.hopi.cz/api/v1/streams
Usage examples
#!/usr/bin/env python3
import zulip
# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")
# Get all streams that the user has access to
result = client.get_streams()
print(result)
# You may pass in one or more of the query parameters mentioned above
# as keyword arguments, like so:
result = client.get_streams(include_public=False)
print(result)
More examples and documentation can be found here.
const zulip = require('zulip-js');
// Pass the path to your zuliprc file here.
const config = {
zuliprc: 'zuliprc',
};
zulip(config).then((client) => {
// Get all streams that the user has access to
client.streams.retrieve().then(console.log);
});
curl -X GET https://zulip.hopi.cz/api/v1/streams -u BOT_EMAIL_ADDRESS:BOT_API_KEY
You may pass in one or more of the parameters mentioned above
as URL query parameters, like so:
curl -X GET https://zulip.hopi.cz/api/v1/streams?include_public=false \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY
Arguments
Note: The following arguments are all URL query parameters.
Argument |
Example |
Required |
Description |
include_public |
false |
No |
Include all public streams.
Defaults to true . |
include_subscribed |
false |
No |
Include all streams that the user is subscribed to.
Defaults to true . |
include_all_active |
true |
No |
Include all active streams. The user must have administrative privileges to use this parameter.
Defaults to false . |
include_default |
true |
No |
Include all default streams for the user's realm.
Defaults to false . |
include_owner_subscribed |
true |
No |
If the user is a bot, include all streams that the bot's owner is subscribed to.
Defaults to false . |
Response
Return values
stream_id
: The unique ID of a stream.
name
: The name of a stream.
description
: A short description of a stream.
invite-only
: Specifies whether a stream is private or not.
Only people who have been invited can access a private stream.
Example response
A typical successful JSON response may look like:
{
"msg": "",
"result": "success",
"streams": [
{
"description": "A Scandinavian country",
"invite_only": false,
"name": "Denmark",
"stream_id": 1
},
{
"description": "Yet another Italian city",
"invite_only": false,
"name": "Rome",
"stream_id": 2
},
{
"description": "Located in the United Kingdom",
"invite_only": false,
"name": "Scotland",
"stream_id": 3
},
{
"description": "A northeastern Italian city",
"invite_only": false,
"name": "Venice",
"stream_id": 4
},
{
"description": "A city in Italy",
"invite_only": false,
"name": "Verona",
"stream_id": 5
},
{
"description": "New stream for testing",
"invite_only": false,
"name": "new stream",
"stream_id": 6
}
]
}
An example JSON response for when the user is not authorized to use the
include_all_active
parameter (i.e. because they are not an organization
administrator):
{
"code": "BAD_REQUEST",
"msg": "User not authorized for this query",
"result": "error"
}