Remove role from user API not getting body

Hello. My request to Management API (Remove Roles from User) is not getting the body/data from the request I made.
My code:

  const removeRole = this.httpService
  .delete(`${auth0API}users/${userId}/roles`, {
    headers: { Authorization: `Bearer ${token}` },
    data: { data: {
      roles: [`${role}`],
    },},
  })
  .pipe(map(res => res.data))
  .toPromise()
  .catch(err => {
    console.log(err);
    throw new Error(err);
  });

Response from auth0:

data: {
  statusCode: 400,
  error: 'Bad Request',
  message: "Payload validation error: 'Expected type object but found type null'.",
  errorCode: 'invalid_body'
}

Delete method from HttpService/Axios only takes two parameters. So I put it in config.data
Hope to help me soon.

Hi @gab.estremos,

Welcome to the Community!

Have you considered using our node library? It will greatly simplify this type of request.

The request would look like this:

const ManagementClient = require('auth0').ManagementClient;

const management = new ManagementClient({
  token: '{YOUR_API_V2_TOKEN}',
  domain: '{YOUR_ACCOUNT}.auth0.com'
}); 

const params =  { id : 'USER_ID'};
const data = { "roles" : ["roleId1", "roleID2"]};

management.users.removeRoles(params, data, function (err, user) {
  if (err) {
    // Handle error.
  }

  // roles removed.
});

Thanks for this @dan.woda. It works!

Glad it’s working for you. Let me know if you have any other questions!