It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

JIRA Rest API authentication always returns 401 unauthorized

I have been trying for hours the following simple CURL command described in the documentation without any success. It always returns me a 401 unauthorized.

curl -D- -u "email:password" -X GET -H "Content-Type: application/json" https://textmaster.jira.com/rest/api/2/issue/TM-3450

I have checked that my confluence config has the "allow remote api calls" set to true. What should I do to make this work?

 

Note: I'm able to access the rest API from the browser directly, while logged in with my user account.

Note: It's a linked google account with a password set.

6 answers

1 accepted

14 votes
Answer accepted

Hi Pierre-Louis,

Silly question but your email is your username? if not then your command should be replaced with JIRA username. Also since your connection is https but -k at the end of the URL  and try again

curl -D- -u "username:password" -X GET -H "Content-Type: application/json" https://textmaster.jira.com/rest/api/2/issue/TM-3450 -k 

Also if that is not the case then you can try other authentication technique like Oauth.

Taha

I just wanted to add a comment because I skipped by this answer and then kept looking for a while before realizing this was the correct answer. Even though I login to confluence with `nate@mydomain.com`, that is not the username to user when authenticating against the api. Against the api, I have to use `nate` as the username.

This can't be stated enough. The API docs aren't clear and make it sound like the website authentication is exactly the same as the rest API authentication. The website works with both username and email as the "username" while the rest API only works with username. You can see your "username" by viewing your profile in JIRA.

Jesus... I spent hours trying to figure out why, are we supposed to be mind readers? You have to emphasize this fact in your documentation, since it's almost ubiquitous that both email and username can be used to authenticate.

Like # people like this

Thank goodness; yes this solved it.

To complicate matters, the REST API was accepting with the email address as the login ID for the first minute or so after the first login with a new account, so it was working for a while ... and then not.

@ Jonathan Sullivan

My username is also my email address but Jira won't allow me to change the username to a new username.  So what can I do to make my authentication API work?

  Let say my email address is "nguyen7744@yahoo.com", can I send my authentication as: 

curl -D- -u "nguyen7744:password1234" -X GET -H "Content-Type: application/json" https://textmaster.jira.com/rest/api/2/issue/TM-3450

 

If that won't work then how can I change my current username (nguyen7744@yahoo.com) to a new username? Or I need to contact JIra's support?

Thanks

John Nguyen



Like Mark Hostetler likes this

So i was struggling with this for about 2 days, and none of those answers worked for me.

I was able to query the api using my personal username:password but not the account that will be used in the automations, as it returned every time authentication_failed with a 401.

We use google accounts, but i found that i was able to log in using my username instead of my email, but the automation account was not able to, so that's why basic auth was failing every time.

In the end what i did to solve it was to login with the user in jira, check it had the correct permissions to what i wanted, then create an api token in the user profile.

Then i was finally able to query the api using curl with -u email:apitoken endpoint

I post it here just in case anyone else is having this same problem.

Like # people like this

This helped. 
Thanks

David Gacías Lacruz This helped, thank you!

It works like a charm.

Faced the same issue and found the solution (as of June 2018).

The username IS the full email.

The password is NOT your password to login, but an API token. To generate an API token, go to https://id.atlassian.com/manage/api-tokens# and create a new one.

 

So the username is the full email and the password is the API token from above step for using basic auth with Jira API.

Thanks it works for me

I am still facing the issue. This is what I have configured in Jenkins (Jira Issue Updater 1.18):

https://companyname.atlassian.net/rest/api/2

Username: {Email} (also set as the username)

Password: {Token}

Am I missing any step? Appreciate your response.

Thanks!

Thanks for the tip!

@Jesper den Boer - I am still not able to get it to work with the configuration posted above. Did you do anything different?

Use your Google email as the username and the generated API token as the password.

Like # people like this

Thanks, this helped.

Using email as username and API Token for password worked for me, thanks!

Working, guess this is the right answer for new JIRA

Thanks Jesper it works.

omg, it really works, thanks!

thanks. you saved me a day---

This worked for me. Thanks a lot!

Bravo, finally i am able to run my code. It was working fine with the password but not now. 

Brilliant :) Thank you :)

Finally a solution that works. Thank you so much!

Thanks. It worked for us.

Danny I'm New Here Jun 30, 2019

Thanks mate. it worked for me :)

Thanks a lot.. You saved me :)

Thanks!

Note that if you are logging in via a sync Google account, it is NOT the google password you are supposed to use. Also it is not the email.

Instead you should go to your user profile and look up your username and set a password.

https://confluence.atlassian.com/cloud/manage-your-profile-and-password-744721602.html

For site admin functions, RSS feeds, REST API access, or WebDAV uploads you'll need to have an Atlassian Cloud password (separate to your Google Apps password. If you haven't set an Atlassian Cloud password, go to the login page and choose Unable to access your account? in the Atlassian Cloud login section.

Of course it makes no sense that this information is not available on the REST API documentation page, since it is quite crucial to get it working.

Is there a way to do this in the new JIRA experience? I can't seem to find any information and the link you provided is now dead.

Having the same issue.

Amazing!!!

It works for me using API token to repalce the password. Thanks!

I was facing a similar issue too. In case if someone trying to access the data using HttpWebRequest instead of curl, remember to base64 the credentials.

string Token = email + ":" + apiToken;

Token =  Convert.ToBase64String(UTF8.GetBytes(Token));

req.Headers.Add("Authorization", "Basic " + Token);

It works, Thanks you

0 votes

Just in case any Gmail users gets to here and is still facing issues, make sure you use the exact email that is associated with your account:

so thats @gmail.com vs @googlemail.com

Lost a day or two on that one.

Gmail accepts both, most websites dont.

I also faced this issue like others. I was able to successfully use my email with the rest api and then I created a new api token in https://id.atlassian.com/manage/api-tokens I used the openssl command like this:

 

printf myusername@domain.net:mypassword | openssl base64
bXl1c2VybmFtZUBkb21haW4ubmV0Om15cGFzc3dvcmQ=

For basic authentication to work you can't have a newline character so that is why I used printf to basic 64 encode, then you can make a rest call like this:

 

GET /rest/api/2/user?username=myusername HTTP/1.1
Host: somedomain.net
Authorization: Basic bXl1c2VybmFtZUBkb21haW4ubmV0Om15cGFzc3dvcmQ=
Accept: application/json 

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Jira

Demo Den Ep. 7: New Jira Cloud Reports

Learn how to use two new reports for next-gen projects in Jira Cloud:  Cumulative flow diagram and Sprint burndown chart. Ivan Teong, Product Manager, Jira Software, demos the Cumulative ...

303 views 1 3
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you