static removeTags (req, res) {
    let tags = [];
    if (ArkimeUtil.isString(req.body.tags)) {
      tags = req.body.tags.replace(/[^-a-zA-Z0-9_:,]/g, '').split(',');
    }

    if (tags.length === 0) {
      return res.serverError(200, 'No tags specified');
    }

    if (req.body.ids) {
      const ids = ViewerUtils.queryValueToArray(req.body.ids);

      SessionAPIs.sessionsListFromIds(req, ids, ['tags'], (err, list) => {
        SessionAPIs.removeTagsList(res, tags, list);
      });
    } else {
      SessionAPIs.#sessionsListFromQuery(req, res, ['tags'], (err, list) => {
        SessionAPIs.removeTagsList(res, tags, list);
      });
    }
  }
POST - /api/sessions/removetags

Removes tag(s) from individual session(s) by id or by query.
@name /sessions/removetags
@param {string} tags - Comma separated list of tags to remove from session(s)
@param {string} ids - Comma separated list of sessions to remove tag(s) from
@param {SessionsQuery} See_List - This API supports a common set of parameters documented in the SessionsQuery section
@param {string} segments=no - Whether to remove tags from linked session segments. Default is no. Options include:
     no - Don't remove tags from linked segments
     all - Remove tags from all linked segments
     time - Remove tags from segments occurring in the same time period
@returns {boolean} success - Whether the remove tags operation was successful
@returns {string} text - The success/error message to (optionally) display to the user