diff --git a/api/controllers/user.go b/api/controllers/user.go
index 113fdc0..2f1872b 100644
--- a/api/controllers/user.go
+++ b/api/controllers/user.go
@@ -30,18 +30,17 @@ func (u User) Get(w http.ResponseWriter, r *http.Request) {
 	w.Header().Add("Content-Type", "application/json")
 }
 
-// "/user/{userid}"
-func (t User) Create(w http.ResponseWriter, r *http.Request) {
-	username := chi.URLParam(r, "username")
-	if username == "" {
-		http.Error(w, "Missing username", http.StatusNotFound)
+// "/user"
+func (User) Create(w http.ResponseWriter, r *http.Request) {
+	var user models.User
+	if err := json.NewDecoder(r.Body).Decode(&user); err != nil {
+		http.Error(w, err.Error(), http.StatusBadRequest)
 	}
-	user := models.User{Username: username, Password: "a"}
+
 	if user.Create() != nil {
 		http.Error(w, "failed to create user", http.StatusInternalServerError)
 		return
 	}
-
 }
 
 // // /users/application/:status/
diff --git a/api/test/controllers/user_test.go b/api/test/controllers/user_test.go
index 9329c95..073cd97 100644
--- a/api/test/controllers/user_test.go
+++ b/api/test/controllers/user_test.go
@@ -5,6 +5,7 @@ import (
 	"magmise/controllers"
 	"magmise/models"
 	"magmise/test"
+	"net/http"
 	"testing"
 )
 
@@ -23,7 +24,17 @@ func TestGetUser(t *testing.T) {
 	if usermodel.Username != "fred" {
 		t.Fatal(usermodel)
 	}
-	t.Log(usermodel)
+}
+
+// "/user"
+func TestCreateUser(t *testing.T) {
+	setup := test.Setup(t, "create user")
+	defer setup()
+	var user controllers.User
+	w := test.Request(t, user.Create, "POST", "/user/{username}", `{"username": "fred", "password": "a"}`, nil)
+	if w.Code != http.StatusOK {
+		t.Fatal(w.Code, w.Result().Status)
+	}
 }
 
 // // "/user/application/:userid/:discordid"