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.
# The Ruby API client exposes user method on client.users
# when adding reactions, collections or reading feeds with enrichment
# you can provide `:user_id` as an 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 exists, an error is returned
client.users.add(
"john-doe",
:data => {:name => "John Doe", :occupation => "Software Engineer", :gender => "male"},
)
# get or create a new user, if the user already exists, the user is returned
client.users.add(
"john-doe",
:data => {:name => "John Doe", :occupation => "Software Engineer", :gender => "male"},
:get_or_create => true,
)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.users.get("123")Removing Users
The delete endpoint removes a user by their ID.
client.users.delete("123")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.users.update("123",
:data => {:name => "Jane Doe", :occupation => "Software Engineer", :gender => "female"}
)