Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Is it possible to create users via REST api?

Steve Silverman October 15, 2014

Can I create a user that authenticates against a Delegated Authentication Directory via the REST api?  If so, can you provide an example using curl?

I've tried posting to /crowd/rest/usermanagement/latest/user but can't seem to get it right.

6 answers

2 votes
Caspar Krieger
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 16, 2014

Here's an example of a POST to create a user (which should work for a delegated authentication directory as with any other writable directory):

curl -i -X POST http://crowd.corp.sf/crowd/rest/usermanagement/latest/user -H'Content-type: application/json' -H'Accept: application/json' -umyappname:myapppass -d'
{
    "email": "testuser@example.com",
    "name": "test.user",
    "password": {
        "value": "testpass"
    }
}'

(you'll need to specify the real name and password for a Crowd application for the -u flag of course)

In general, Crowd uses the same entities (json or xml layout) for fetching things, updating things, and creating things, so - for example - if you can fetch a user, then that will get you 90% of the way to creating an identical user.

Steve Silverman October 16, 2014

Thanks Casper, I have done that but it only adds the user to the internal crowd directory. We have an internal directory and we also use Active Directory to authenticate users. We need to pre-populate the the LDAP directory for new users, otherwise they get an error on their first login attempt and need to wait until the directory syncronizes before they can login.

Caspar Krieger
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 17, 2014

Which directory the user is created in is determined by the ordering of the directories in the application definition in Crowd: the user will be created in the first directory with create user permission. This is intentional; the idea of Crowd applications is that they don't notice that they are getting users from several different directories. To ensure the user is created in a particular directory, you can either disable create user permission in the internal directory, or move the delegated auth directory to the top position in the Crowd application definition, or create a separate application in Crowd which only contains the delegated auth directory. I get the impression that you're writing a standalone script, so I recommend that last option.

0 votes
manish March 15, 2019

Hi ,

Is this possible with multiple groups can be created ? Does the REST API support this ?

0 votes
fii July 26, 2017

Hi ,

Is this possible with multiple users ? Does the REST API support this ?

Thanks 

chamani@willowdalegroup.com June 8, 2018

I am having same problem here. Can this related to multiple users using one request ? Please update me if you get an solution.

0 votes
Ahmad Awadallah February 25, 2016

I know this is old but it may help others.  This link describes what JIRA user directory is used when creating/deleting users via REST API.

https://confluence.atlassian.com/jirakb/how-to-create-users-in-delegated-authentication-directory-using-jira-rest-api-779294020.html

Hope this helps.

Ahmad

Steve Silverman February 26, 2016

Ahmad, I appreciate the response, however I am trying to add users in crowd, which has multiple directories.  Even if the answer holds true for crowd, There is no way that I can see to re-order the directories,

As it stands, we automatically create import files with new users and then manually invoke the import users function via crowd.

Ahmad Awadallah February 26, 2016

OK I see your point.  

Craig Castle-Mead
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 4, 2017

As Casper mentioned, it's due to the directory order within the application you're authenticating as to run the command.

To ensure we're explicit about which directory the users are created in, we've had to create a unique application for each directory we want to create users/groups in, and then authenticate as that application for the REST call.

CCM

0 votes
Steve Silverman October 16, 2014

Just to clarify, I am able to add users to the Crowd Internal Directory. What I am attempting to do is to prepopulate a Delegated Directory that is connected to our company AD. Using the REST API, it does not seem to allow specification of which directory to add to, it always uses the CROWD Internal Directory.

0 votes
Pedro Cora
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 16, 2014

Yes, according to https://developer.atlassian.com/display/CROWDDEV/Crowd+REST+APIs you can use Crowd's REST interface to create users.

For more details, take a look on the REST documentation at https://developer.atlassian.com/display/CROWDDEV/Crowd+REST+Resources#CrowdRESTResources-UserResource

;)

-- Pedro

Steve Silverman October 16, 2014

Pedro, thanks, I have already gone through all the documentation. I don't see where it allows you to specify which directory you want to add to. I have only been able to add to the default directory.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events