POST returned 401 with error: Unauthorized

I was testing the orders v2 API through http requests via java and everything worked smooth a week ago.

When trying it today I started getting: POST returned 401 with error: Unauthorized

from the api.


If I use the same account with the porder python package I am able to connect and retrieve idlists properly, which, I assume does more or less the same thing.

Does anyone know if something changed in the authentication process?

Right now I am using basic authentication as I think I saw somewhere in the docs.

Thanks for any clue.



  • Official comment

    Just to mention, if anyone else is also facing this issue. Please only use your API key to authenticate and not username/password. 

  • Hey Andrea,


    Thanks for writing at Planet Community.

    Would you be able to write to with your email address used to register yourself on our platform so we can look into your access?

    Thank you!

    Best Regards,


  • Pooja Pandey How can we authenticate with `planet init` like before? Planet init is not working for me anymore even though it appears to work when I run it:

    # rave at rave-desktop in ~ [13:30:56]
    → planet init

    I'm using the latest version of the planet package, 1.4.3


    When I try to view my subscriptions I can't do so on my desktop but this command works on my laptop with the exact same .planet.json file (there's no discernible difference between my laptop OS , planet version, api key, etc.)

    # rave at rave-desktop in ~ [13:15:03]
    → planet analytics subscriptions list
    Traceback (most recent call last):
    File "/home/rave/miniconda3/envs/porder/bin/planet", line 8, in <module>
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 764, in __call__
    return self.main(*args, **kwargs)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 717, in main
    rv = self.invoke(ctx)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/click/", line 555, in invoke
    return callback(*args, **kwargs)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/planet/scripts/", line 452, in list_subscriptions
    response = cl.list_analytic_subscriptions(feed_id)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/planet/api/", line 393, in list_analytic_subscriptions
    return self._get(url, models.Subscriptions, params=params).get_body()
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/planet/api/", line 45, in get_body
    resp = self._dispatcher._dispatch(self.request)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/planet/api/", line 155, in _dispatch
    return _do_request(self.session, request)
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/planet/api/", line 125, in _do_request
    File "/home/rave/miniconda3/envs/porder/lib/python3.6/site-packages/planet/api/", line 90, in check_status
    raise exception(response.text)
    planet.api.exceptions.InvalidAPIKey: {"code":401,"message":"unauthenticated for invalid credentials"}


Please sign in to leave a comment.

Didn't find what you were looking for?

New post