const client = stream.connect(
"{{ api_key }}",
"{{ feed_token }}",
"{{ app_id }}",
);
// ensure the user data is stored on Stream
await client.setUser({
name: "John Doe",
occupation: "Software Engineer",
gender: "male",
});Users
Stream allows you to store user information and embed them inside activities or use them for personalization. When stored in activities, users are automatically enriched by Stream.
// Java API client exposes users methods on client.user object
// when adding reactions, collections you can provide `userID` as argumentAdding Users
This endpoint allows you to insert a new user.
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for the new user (eg. username, user id, etc.). The value is restricted to alphanumeric characters, dashes and underscore symbols. |
| data | object | The data related to the user. |
// create a new user, if the user already exist an error is returned
client.user("john-doe").create(new Data()
.set("name", "John Doe")
.set("occupation", "Software Engineer")
.set("gender", "male")).join();
// get or create a new user, if the user already exist the user is returned
client.user("john-doe").getOrCreate(new Data()
.set("name", "John Doe")
.set("occupation", "Software Engineer")
.set("gender", "male")).join();The size of a user object can not exceed 10kB
Retrieving Users
The retrieving users endpoint allows you to retrieve a user by their ID.
client.user("123").get().join();Removing Users
The delete endpoint removes a user by their ID.
client.user("123").delete().join();When you delete a user it will be converted to a missing reference and throw an error when enriching.
Updating Users
This endpoint allows you to update a user by their ID.
Parameters
| name | type | description | default | optional |
|---|---|---|---|---|
| id | string | The ID of the user to update | - | |
| data | object | The data related to the user | - |
client.user("123").update(new Data()
.set("name", "Jane Doe")
.set("occupation", "Software Engineer")
.set("gender", "female")).join();