Method PUT /api/v4/users/{user_id} always gives an error “Invalid or missing user in request body. Although I pass existing user id in URL and in BODY data (“id”=”{user_id}"). Other methods work, including GET /api/v4/users/{user_id}
Can you please paste the full curl request here for clarity? Also, what is the Mattermost server version you are using?
Mattermost 6.0
I’m use PHP:
$data = array(
"id" => $userId,
"create_at" => "01-01-2020",
"username" => $username,
"first_name" => $firstName,
"last_name" => $lastName,
"nickname" => $nickname,
"locale" => $locale,
"position" => $position,
"props" => $props,
"notify_props" => $notifyProps,
);
$url = $this->domain.'/api/v4/users/'.$userId;
$headers = [];
$headers[] = 'Authorization: Bearer '.$token;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$result = curl_exec($ch);
The “create_at” field is an int64 field containing an epoch timestamp. Not a string.
It’s not directly mentioned in the request type, but you can see the response type here: Mattermost API Reference
1 Like