docs: function executeActionsEmail (c) {
    return function executeActionsEmail (realmName, userId, options) {
      return new Promise((resolve, reject) => {
        options = options || {};
  
        if (!userId) {
          return reject(new Error('userId is missing'));
        }
  
        const payload = [];
        if (options.verifyEmailAction) {
          payload.push('VERIFY_EMAIL');
        }
        if (options.updateProfileAction) {
          payload.push('UPDATE_PROFILE');
        }
        if (options.updatePasswordAction) {
          payload.push('UPDATE_PASSWORD');
        }
        if (options.configureTOTPAction) {
          payload.push('CONFIGURE_TOTP');
        }
  
        if (payload.length === 0) {
          return reject(new Error('no actions defined'));
        }
  
        let queryParameter = '';
        if (options.redirectUri !== '') {
          if (options.clientId !== '') {
            queryParameter = `?redirect_uri=${options.redirectUri}&client_id=${options.clientId}`;
          } else {
            return reject(new Error('clientId is not set but redirectUri is. Both MUST go together'));
          }
        }
  
        const req = {
          url: `${c.baseUrl}/admin/realms/${realmName}/users/${userId}/execute-actions-email${queryParameter}`,
          auth: {
            bearer: privates.get(c).accessToken
          },
          json: true,
          method: 'PUT',
          body: payload
        };
  
        request(req, (err, resp, body) => {
          if (err) {
            return reject(err);
          }
  
          // Check that the status cod
          if (resp.statusCode !== 200) {
            return reject(body);
          }
  
          return resolve(body);
        });
      });
    };
  }