I have a script that runs daily to create new users via the API. Up until a few days ago, when the post would complete, the response included the user_id of the newly created user. Now the API no longer does so? But the API docs indicate that it should.
Is the user being created?
My guess is that for some reason the user isn’t being created and that’s why it’s not returning the user_id.
The users are getting created. I have confirmed. And the API gives back this status but it’s missing the user_id
{
"success": true,
"active": true,
"message": "Your account is activated and ready to use."
}
Yeah. That seems like a bug, then. I looked for explanations in Commits · discourse/discourse · GitHub but didn’t find one.
To confirm the issue, I created a user through the API on 3.4.0.beta3-dev and it returned user_id in the response.
{
"success": true,
"active": true,
"message": "Your account is activated and ready to use.",
"user_id": 3
}
I did it again after upgrading to 3.4.0.beta4-dev and user_id is then missing:
{
"success": true,
"active": true,
"message": "Your account is activated and ready to use."
}
So you’ve narrowed down where the errant commit is.
Just a hunch
probably related to DEV: Change hide_email_address_taken default to true (#30293) · discourse/discourse@c1c7ea8 · GitHub explained here:
I guess it would be desirable to override this behavior when it’s a request made using an admin API key?
Thank you! Changing that setting did restore the API result so that I get the user_id in the result after creating a user.
Hello,
Same here…
Is it something currently ongoing for the devs? Because it may be tricky to remember that this settings counteract the docs ![]()