I’m new to the Docebo API and I am trying to get the API to add a user.
I can add a user via the “API Explorer” using these fields:
{
"userid": "killer@domain.com",
"email": "killer@domain.com",
"password": "some_random_stuff",
"firstname": "Killer",
"lastname": "Cat",
"force_change": 1,
"level": 6,
"send_notification_email": true,
"select_orgchart": {
"375": 1
}
}I’m using php to connect to the API, and submitting these fields there via the following construct:
$data["userid"] = "killer@domain.com";
$data["email"] = "killer@domain.com";
$data["password"] = "some_random_stuff";
$data["firstname"] = "Killer";
$data["lastname"] = "Cat";
$data["force_change"] = 1;
$data["level"] = 6;
$data["send_notification_email"] = true;
$data["select_orgchart"] = array("375" => 1);
// Build a POST request
$opts = array(
'http' => array(
'method' => 'POST',
'header' => array(
'Authorization: Bearer '.$token,
'Content-Type: application/x-www-form-urlencoded\r\n',
),
'content' => http_build_query($data),
'ignore_errors' => true
)
);
$context = stream_context_create($opts);
// Poll the API
$get_response = file_get_contents($url, false, $context);
The URL I am using is "/manage/v1/user".
I get this response from the php request:
{
"name":"Bad Request",
"message":[
{"field":"userid","message":"You haven't filled in some mandatory fields"},
{"field":"password","message":"You haven't filled in some mandatory fields"}
],
"code":1002,
"status":400
}This suggests that there are two fields missing… but clearly I have filled in both the userid and password fields.
FWIW - I get the same response if I use php curl to run the POST request.
Any ideas what I might be doing wrong?
Any and all suggestions / help would be most welcome.
Thanks!