code: async def run_jog(data):
      
      axis = data.get('axis')
      direction = data.get('direction')
      step = data.get('step')
  
      if axis not in ('x', 'y', 'z'):
          message = '"axis" must be "x", "y", or "z"'
          status = 400
      elif direction not in (-1, 1):
          message = '"direction" must be -1 or 1'
          status = 400
      elif step is None:
          message = '"step" must be specified'
          status = 400
      else:
          position = jog(
              axis,
              direction,
              step,
              session.adapter,
              session.current_mount,
              session.cp)
          message = 'Jogged to {}'.format(position)
          status = 200
  
      return web.json_response({'message': message}, status=status)
docs: Allow the user to jog the selected pipette around the deck map
  
      :param data: Information obtained from a POST request.
      The content type is application/json
      The correct packet form should be as follows:
      {
        'token': UUID token from current session start
        'command': 'jog'
        'axis': The current axis you wish to move
        'direction': The direction you wish to move (+ or -)
        'step': The increment you wish to move
      }
      :return: The position you are moving to based on axis, direction, step
      given by the user.