       return JSONHelper.flatJSON(["after": after, "t": listingTypeRange])
     case .Vote(_, let identifier, let direction):
       return ["id": identifier, "dir": direction]
+    case .Save(_, let identifier):
+      return ["id": identifier]
+    case .Unsave(_, let identifier):
+      return ["id": identifier]
+    case .Report(_, let identifier, let reason):
+      return ["thing_id": identifier, "reason": reason]
     default:
       return nil
     }

      return "/user/\(username)/about"
    case .Vote:
      return "/api/vote"
    }
  }

  var method: Moya.Method {
    switch self {
    case .AccessToken, .RefreshToken, .Vote:
      return .POST
    default:
      return .GET

  case UserDetails(token: String, username: String)
  case UserMeDetails(token: String)
  case Vote(token: String, identifier: String, direction: Int)
  case Save(token: String, identifier: String)
  case Unsave(token: String, identifier: String)
  case Report(token: String, identifier: String, reason: String)

}

