When making a POST request to lever API via golang you need to be able to send an array in somecases. For example, when updating tags ["test1", "test2"]. In python using the requests lib didn't have this issue but perhaps can save some time because it wasn't obvious right away:
data := url.Values{"tags[]": []string{"test", "test1"}}
req, err := http.NewRequest("POST", "https://api.lever.co/v1/candidates/132412-12312-1241/addTags?perform_as=1341-1243124", strings.NewReader(data.Encode()))
req.Header.Set("Content-Type", "application/x-www-form-urlencoded") // <- Don't forget the header!