#
Authorization
To make the API easier to use, we recommend creating a few fixed parameters that you will use frequently.
OSAI_URL = 'https://app-eu.onestepai.com/api' # or 'https://app-us.onestepai.com/api'
API_TOKEN = 'OUR ACCESS TOKEN GENERATED IN OSAI'
HEADERS = {'Authorization': None}
To use the ONESTEP AI API, user authorization is required. This is done using an access token generated on the OSAI website in the Settings
tab.
Create a unique name for the token and select its expiration date.
The generated token is displayed only once, so make sure you copy it, as you will not be able to see it again once you close the window.
If you lose your old token or your data is leaked, you can always delete your existing tokens and create many more.
def sign_in():
response = requests.post(
url=f'{OSAI_URL}/Users/SignIn', json=API_TOKEN)
return response
Using the token, sign in to the API via /Users/SignIn
, the string received is the JWT authorization token that should be in every request.
token = sign_in()
global HEADERS
HEADERS = {'Authorization': f'Bearer {token.text}'}
For easier use, we recommend assigning the JWT token to a global variable.
#
Get user information
To check the validity of the code and API connection, we recommend downloading the user information and see if you are getting the correct data.
def get_user_info():
response = requests.get(url=f'{OSAI_URL}/Users', headers=HEADERS)
return response.json()
print('-------User info-------')
user_info = get_user_info()
print_formatted_json(user_info)
#
Example
import requests
import json
OSAI_URL = 'https://app-eu.onestepai.com/api'
API_TOKEN = 'OUR ACCESS TOKEN GENERATED IN OSAI'
HEADERS = {'Authorization': None}
def main():
token = sign_in()
global HEADERS
HEADERS = {'Authorization': f'Bearer {token.text}'}
print('-------User info-------')
user_info = get_user_info()
print_formatted_json(user_info)
def sign_in():
response = requests.post(
url=f'{OSAI_URL}/Users/SignIn', json=API_TOKEN)
return response
def get_user_info():
response = requests.get(
url=f'{OSAI_URL}/Users', headers=HEADERS)
return response.json()
def print_formatted_json(text):
print(json.dumps(text, indent=4))
if __name__ == '__main__':
main()
-------User info-------
{
"id":
"Guid-Guid-Guid-Guid",
"userName": "OneStep AI",
"name": "OneStep",
"surname": "AI",
"email": "onestepai@email.com",
"picture": "Link-To-Picture",
"bucket": "s3",
"colorMode": 1,
"enableTutorial": false
}