Getting, Updating, and Deleting a User

Learn how to get a single user, update, and delete a user using Auth0 API.

In this lesson, we'll see three operations related to the users. First, we'll see how to retrieve details of a single user, then we'll update that user, and at the end, we will explore how we can delete it using the https://{{DOMAIN}}/api/v2/users/{id} endpoint.

Press + to interact
Getting, updating, and deleting a user
Getting, updating, and deleting a user

Getting a user

This endpoint allows us to retrieve a specific user when needed. It requires an access token with read:users and read:user_idp_tokens scopes. To utilize this endpoint, we need to send a GET HTTP request to the users endpoint.

Request parameters

We can invoke the endpoint with parameters to filter the results to retrieve a specific user. Some important parameters include:

Parameter Name

Type

Category

Description

id

String

Required

Defines the user ID that needs to be retrieved.

fields

String

Optional

Filters the fields that will be included in the response.

include_fields

Boolean

Optional

Used to confirm whether the filtered value should be included in the response.

The following code filters a user, and we retrieve it through its user ID. Click the “Run” button to filter a user in the code widget below:

Press + to interact
// Importing libraries here
const fetch = require('node-fetch');
const endpointUrl = new URL('https://{{DOMAIN}}/api/v2/users/{{USER_ID}}');
const headerParameters = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{ACCESS_TOKEN}}',
}
const options = {
method: 'GET',
headers: headerParameters,
};
async function getUser() {
try {
const response = await fetch(endpointUrl, options);
printResponse(response);
} catch (error) {
printError(error);
}
}
getUser();

Let's look at the highlighted lines from the code shown above:

  • Line 4: We define the endpoint URL for this API call and pass the user ID we want to retrieve.

  • Line 18: We make a GET request using the fetch function.

  • Line 25: We invoke the getUser function.

Response fields

The successful execution of the above code will list the created user and returns metadata. Some of the important response fields are as follows.

Name

Description

user_id

Contains the user's ID.

email

Contains the user's email.

multi-factor

Contains the users enrolled in multifactor authentication.

last_login

Contains the user's last login details.

last_ip

Contains the user's last login IP address.

Updating a user

We can also update a user's information using the user update endpoint provided by Auth0. This can be done by sending a PATCH HTTP request to the users endpoint specified by Auth0 with some body parameters according to the changes we want to make.

Request parameters

This endpoint takes the user's ID and passes it as a path parameter. Since it is a PATCH request, the body of the request is also required. Let's update some attributes of the client in the code widget below:

Press + to interact
// Importing libraries here
const fetch = require('node-fetch');
const endpointUrl = new URL('https://{{DOMAIN}}/api/v2/users/{{USER_ID}}');
const headerParameters = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{ACCESS_TOKEN}}',
}
const bodyParameters = JSON.stringify({
"username": "UpdatedUsername",
});
const options = {
method: 'PATCH',
headers: headerParameters,
body: bodyParameters,
};
async function updateUser() {
try {
const response = await fetch(endpointUrl, options);
printResponse(response);
} catch (error) {
printError(error);
}
}
updateUser();

Let's look at the highlighted lines from the code shown above:

  • Line 4: We define the endpoint URL for the API call.

  • Lines 11–13: We define a bodyParameters object and update the user's username.

  • Line 23: We make a PATCH request using the fetch function.

  • Line 30: We invoke the updateUser function.

Response fields

The successful execution of the above code returns the user's metadata with the updated username field values.

Deleting a user

We can delete this user by changing the HTTP method from PATCH to DELETE at line 16 and by removing bodyParameters at line 18 in the code widget above.