Auth problem for below python code


Hi ,

I am getting either an invalid path for (api 1.3) or not authenticated for (api 2.0) to get the transactional API for line items and IDs.

I am using basic auth with base64 encoding.

below is my code, I believe my code is correct. guide me if i am missing anything in the code.

Note that, I have used GUIDs and auth as mguid, wguid, username and password. so the first part is not shared in the below code.


user = 'Basic ' + str(base64.b64encode((


getHeaders = {

    'Authorization': user,

    'Content-Type': 'application/json'


getImports = requests.get(f'{wGuid}/' +



with open('lineitems.json', 'wb') as f:





  • @StevenBeerthuizen @ryan_kohn @kevin.cho anybody can help me understand what is wrong here. Please give me a correct code to execute the transactional API for python.

  • Probably it is somewhere in the user part. Seems to me that you do too much in that code. This is the simple version: user_pw = b64encode(b'email:password').decode()

    The decode already creates an output string so no need to do the str() anyway. I guess you have to play around with it.

    Maybe like this:

    user = 'Basic ' + base64.b64encode((f'{username}:{password}').encode('utf-8')).decode()

    Good luck!


  • Hey @ManjunathKN - two issues here:

    1. Steven is correct in that you're doing too much in the user_pw bit.
    2. However, you can't make calls to the transactional/bulk metadata APIs directly using basic authentication like this. Your Authorization header should look like:

    {'Authorization': 'AnaplanAuthToken <token_value>'}

    Right now, it looks like:

    {'Authorization': '<b64encoded value'}

    What you need to do is first generate the token_value using the Authentication endpoint.

    See this article that I wrote a while back:

    You can focus on the sections:

    Basic Authentication (Username and Password)

    Retrieving Workspace and Model Details

    You can then substitute the endpoints/URLs with the ones you want afterwards.

  • Thank you @StevenBeerthuizen and @kevin.cho.

    Really helpful. I will try the above recommendations and I will let you know.