Required Header Format of API Put Request (Using C# Instead of Python)

Hi, I have the following Python code (that works) which I need to convert to C#.

def PutUser(wixId, userId, score):
    url = 'https://www.antaresanalytics.net/_functions/SetUserHighScore/'
    payload =[{'_id' : wixId, 'userId' : userId, 'score' : score}]
    r = requests.put(url, json=payload)
    return r

I have the following C# implementation down below, but for some reason, I’m getting an HTTP 500 Internal Server Error. I’m trying to find the required header format for put (or post) requests for the wix API to work.

All I can find is this documentation, which says that it needs to be in a key:value pair, which is what I am passing into the call below.

async void PutLeaderBoard(UserStat userStat) 
{
	var uri = "https://www.antaresanalytics.net/_functions/SetUserHighScore/";
 	var dictionarypayload = new Dictionary<string, string>()
	{
		{"_id", userStat.wixId},
		{"userId", userStat.userId},
		{"score", userStat.score.ToString()}
	};
	var requestContent = new StringContent(
					payload, 
					Encoding.UTF8, 
					"application/json");
	var response = await client.PutAsync(uri, requestContent);
	response.EnsureSuccessStatusCode();
}

I’ve also tried doing a Json Serializer for the payload as well, but I get the same HTTP 500 Internal Server Error.

// userStat is a class object containing the 3 fields:
// _id, userId, & score.
string payload = JsonUtility.ToJson(userStat); // Unity implementation of System.JsonSerialization

Any help is appreciated. Thank you!