Xero API not working for Accounts in python

433 Views Asked by At

I am trying to call xero Accounts api in python but not working for some reason. It works well for the rest of APIs such as Invoices, reports, and so on, but Accounts.

The following script is my python script i am using to call the api.

get_url = 'https://api.xero.com/api.xro/2.0/Accounts'   
response = requests.get(get_url,
                        headers = {
                            'Authorization': 'Bearer ' + access_token,
                            'Xero-tenant-id': xero_tenant_id,
                            'Accept': 'application/json'
                        })
json_response = response.json()
print(json_response)

But this is throwing the following error:

{'Type': None, 'Title': 'Unauthorized', 'Status': 401, 'Detail': 'AuthorizationUnsuccessful', 'Instance': '3c1649ef-6eed-4e64-8503-04fc99481db2', 'Extensions': {}}

Can anyone tell me why this is happening? why just Accounts?

1

There are 1 best solutions below

1
On BEST ANSWER

Can you share what scopes you're requesting? https://developer.xero.com/documentation/oauth2/scopes

Invoices requires accounting.transactions Reports requires accounting.reports.read Accounts requires accounting.settings