I am trying to  create a job using the python api. I have created my own config, but the authentication fails. It produces an error message: 
File "/usr/lib/python2.7/dist-packages/jenkins/__init__.py", line 415, in create_job
    self.server + CREATE_JOB % locals(), config_xml, headers))
  File "/usr/lib/python2.7/dist-packages/jenkins/__init__.py", line 236, in jenkins_open
    'Possibly authentication failed [%s]' % (e.code)
jenkins.JenkinsException: Error in request.Possibly authentication failed [403]
The config file I have created was copied from another job config file as it was the easiest way to build it: 
I am using the import jenkins module.

The server instance I create is using these credentials: 
server = jenkins.Jenkins(jenkins_url, username = 'my_username', password = 'my_APITOKEN')
Any help will be greatly appreciated.
As far as I know for security reasons in Jenkins 2.x only admins are able to create jobs (to be specific - are able to send PUT requests). At least that's what I encountered using Jenkins Job Builder (also Python) and Jenkins 2.x.
Authentication failed with Jenkins using python API