> For the complete documentation index, see [llms.txt](https://docs.developers.symphony.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.developers.symphony.com/bots/datafeed/overview-of-streams.md).

# Overview of Streams

A Stream is like a container for messages exchanged between two or more users via a given 1 to 1 chat (IM) or chat room.

Each Stream has a unique ID also known as a *Conversation ID*, that is returned when the IM or chat room is created using the [Create Instant Message](https://developers.symphony.com/restapi/main/streams-conversations/im-mim-endpoints/create-im-or-mim), [Create Non-inclusive Instance Message](https://developers.symphony.com/restapi/main/streams-conversations/im-mim-endpoints/create-im-or-mim-admin), and [Create Room v3](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/create-room-v3) endpoints respectively. This ID can then be used in subsequent endpoints to perform operations on the IM or chat room.

On the Symphony Messaging web or desktop client, this ID can be found by clicking on the timestamp of any message in the conversation. This will open the **Message Status** module, where the **Conversation ID** can be found, as shown in the following picture.

![](https://files.readme.io/736890e-conversation_id.jpg)

The Conversation ID in the Symphony Messaging Web Client is in Standard Base64 encoding and need to be converted to be URLSafe. Conversation IDs returned in API responses are already URLSafe Base64 encoding.

{% hint style="info" %}

### URLSafe Base64 Conversion

To obtain the URLSafe Base64 Conversation ID:

* Replace forward slashes / with underscores \_
* Replace pluses + with minuses -
* Ignore any trailing equal signs =

For example, the URLSafe Base64 encoding of`lX1hwfmQ+AK/k/a/BB0y2n///q2+0KfbdA==` converts to `lX1hwfmQ-AK_k_a_BB0y2n___q2-0KfbdA`.
{% endhint %}

The following list shows the existing endpoints:

[Create IM](https://developers.symphony.com/restapi/main/streams-conversations/im-mim-endpoints/create-im-or-mim)\
[Create IM non-inclusive](https://developers.symphony.com/restapi/main/streams-conversations/im-mim-endpoints/create-im-or-mim-admin)\
[Create Room v3](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/create-room-v3)\
[Update Room v3](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/update-room-v3)\
[Room Info v3](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/room-info-v3)\
[De/Re-activate Room](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/de-or-re-activate-room)\
[Room Members](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/room-members)\
[Add Member](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/add-member)\
[Share](https://developers.symphony.com/restapi/main/streams-conversations/all-streams-endpoints/share-v3)\
[Remove Member](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/remove-member)\
[Promote Owner](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/promote-owner)\
[Demote Owner](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/demote-owner)\
[Search Rooms v3](https://developers.symphony.com/restapi/main/streams-conversations/room-endpoints/search-rooms-v3)\
[List User Streams](https://developers.symphony.com/restapi/main/streams-conversations/all-streams-endpoints/list-user-streams)\
[Stream Info v2](https://developers.symphony.com/restapi/main/streams-conversations/all-streams-endpoints/stream-info-v2)\
[List Streams for Enterprise v2](https://developers.symphony.com/restapi/main/streams-conversations/all-streams-endpoints/list-streams-for-enterprise-v2)\
[Stream Members](https://developers.symphony.com/restapi/main/streams-conversations/all-streams-endpoints/stream-members)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.developers.symphony.com/bots/datafeed/overview-of-streams.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
