Update a User

In this code snippet you learn how to update a User's details.

Example

Ensure the following variables are set to your required values using any convenient method:

KeyDescription
USER_ID

The unique ID of the User.

USER_NEW_NAME

The new name of the User.

USER_NEW_DISPLAY_NAME

The new display name of the User.

Prerequisites

You will need to use an existing Application and have a User in order to be able to update a User. See the Create Conversation code snippet for information on how to create an Application. See also the Create User code snippet on how to create a User.

Write the code

Add the following to update-user.sh:

curl -X "PATCH" "https://api.nexmo.com/v1/users/$USER_ID" \
     -H 'Authorization: Bearer '$JWT\
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "'$USER_NAME'",
  "display_name": "'$USER_DISPLAY_NAME'"
}'

View full source

Run your code

Save this file to your machine and run it:

bash update-user.sh

Prerequisites

You will need to use an existing Application and have a User in order to be able to update a User. See the Create Conversation code snippet for information on how to create an Application. See also the Create User code snippet on how to create a User.
npm install @vonage/server-sdk

Create a file named update-user.js and add the following code:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_PRIVATE_KEY,
});

View full source

Write the code

Add the following to update-user.js:

const run = async () => {
  // Load in all the user details to prevent overwriting
  const user = vonage.users.getUser(
    USER_ID,
  );

  user.name = USER_NAME;
  user.displayName = USER_DISPLAY_NAME;

  try {
    await vonage.users.updateUser(user);
    console.log(user);
  } catch (error) {
    console.error(error);
  }
};

run();

View full source

Run your code

Save this file to your machine and run it:

node update-user.js

Prerequisites

You will need to use an existing Application and have a User in order to be able to update a User. See the Create Conversation code snippet for information on how to create an Application. See also the Create User code snippet on how to create a User.

Add the following to build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Create a file named UpdateUser and add the following code to the main method:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

View full source

Write the code

Add the following to the main method of the UpdateUser file:

val user = client.users.user(USER_ID).update {
    name(USER_NEW_NAME)
    displayName(USER_NEW_DISPLAY_NAME)
}

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.users with the package containing UpdateUser:

gradle run -Pmain=com.vonage.quickstart.kt.users.UpdateUser

Prerequisites

You will need to use an existing Application and have a User in order to be able to update a User. See the Create Conversation code snippet for information on how to create an Application. See also the Create User code snippet on how to create a User.

Add the following to build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Create a file named UpdateUser and add the following code to the main method:

VonageClient client = VonageClient.builder()
        .apiKey(VONAGE_API_KEY)
        .apiSecret(VONAGE_API_SECRET)
        .build();

View full source

Write the code

Add the following to the main method of the UpdateUser file:

User user = client.getUsersClient().updateUser(
    USER_ID, User.builder()
        .name(USER_NEW_NAME)
        .displayName(USER_NEW_DISPLAY_NAME)
        .build()
);

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.vonage.quickstart.users with the package containing UpdateUser:

gradle run -Pmain=com.vonage.quickstart.users.UpdateUser

Prerequisites

You will need to use an existing Application and have a User in order to be able to update a User. See the Create Conversation code snippet for information on how to create an Application. See also the Create User code snippet on how to create a User.
Install-Package Vonage

Create a file named UpdateUser.cs and add the following code:

using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Vonage;
using Vonage.Request;
using Vonage.Users.UpdateUser;

View full source

Add the following to UpdateUser.cs:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);

View full source

Write the code

Add the following to UpdateUser.cs:

var response = await client.UsersClient.UpdateUserAsync(UpdateUserRequest.Build()
    .WithId(USER_ID)
    .WithName(USER_NAME)
    .WithDisplayName(USER_DISPLAY_NAME)
    .Create());

View full source

Prerequisites

You will need to use an existing Application and have a User in order to be able to update a User. See the Create Conversation code snippet for information on how to create an Application. See also the Create User code snippet on how to create a User.
pip install vonage python-dotenv

Write the code

Add the following to update-user.py:

from vonage import Auth, Vonage
from vonage_users import Channels, PstnChannel, SmsChannel, User

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

user_params = User(
    name=USER_NAME,
    display_name=USER_DISPLAY_NAME,
    channels=Channels(
        sms=[SmsChannel(number='1234567890')], pstn=[PstnChannel(number=123456)]
    ),
)
user: User = client.users.update_user(id=USER_ID, params=user_params)

print(user)

View full source

Run your code

Save this file to your machine and run it:

python users/update-user.py

Try it out

When you run the code you will update the name and display name of the specified User.