Validation error even when parameter passed while running data explorer API with Curl

Have a look at How to run Data Explorer queries with the Discourse API for details about how the params parameter needs to be set. Based off the code you have provided, it looks like you are trying to pass the user_param param directly instead of including it in a params param. The first code example in the topic that I linked to should give you an idea about how to set that parameter.