Step 1: Login to get access and refresh token

The access token expires every 30 minutes. In that case, you will have to re-query for an access token. The refresh token expires every 15 days (double check both values)

get_tokens = requests.post(
    '<https://api.getwaitlist.com/api/v1/auth/create_tokens>',
     json={
         "email": "YOUR_EMAIL",
         "password": "YOUR_PASSWORD"
	    },
      headers={'Content-type': 'application/json'}
)

response_data = get_tokens.json()
access_token = response_data['access_token']
refresh_token = response_data['access_token']

To refresh access tokens

get_tokens = requests.get(
    '<https://api.getwaitlist.com/api/v1/auth/refresh_access_token>',
     headers={
         "Authorization": f'Bearer {access_token}'
     }
)

response_data = get_tokens.json()
access_token = response_data['access_token']
refresh_token = response_data['access_token']

Step 2: Use tokens to query your desired information

Get waiters

By default, we return 100 waiter values at a time. If you want to query all waiters, you will have to use offset to ensure that waiters are paginated. I.e. offset = 1 returns values between 0 and 100, while offset = 1 will return values 101 to 201

get_all_waiters = requests.get(
    '<https://api.getwaitlist.com/api/v1/waiter/IMXSQM>',
     headers={
         "Authorization": f'Bearer {access_token}'
     },
     params={
         "offset": 0
)

get_all_waiters_data = get_all_waiters_data.json()
    
print(get_all_waiters_data)

Get waiters by referral token

If you want to get all waiters that someone has referred, you can add a param for referral_token. You’ll be returned values the exact same way.

get_all_waiters = requests.get(
    '<https://api.getwaitlist.com/api/v1/waiter/IMXSQM>',
     headers={
         "Authorization": f'Bearer {access_token}'
     },
     params={
         "offset": 0,
         "referral_token": "ABCDEF12344"
)

get_all_waiters_data = get_all_waiters_data.json()
    
print(get_all_waiters_data)