# Get all streams

Get all streams that the user has access to.

`GET {{ api_url }}/v1/streams`

## Usage examples

{start_tabs}
{tab|python}

{generate_code_example(python)|/streams:get|example}

{tab|js}

More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
```js
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);
});

```

{tab|curl}

{generate_code_example(curl, include=[""])|/streams:get|example}

You may pass in one or more of the parameters mentioned above
as URL query parameters, like so:

{generate_code_example(curl, include=["include_public"])|/streams:get|example}

{end_tabs}

## Arguments

**Note**: The following arguments are all URL query parameters.

{generate_api_arguments_table|zulip.yaml|/streams:get}

## 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:

{generate_code_example|/streams:get|fixture(200)}

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):

{generate_code_example|/streams:get|fixture(400)}
