code: public function upload(string $user, string $file, Slice $options = null): Slice
      {
          if (!File::isFile($file))
          {
              throw new \Bavix\Exceptions\NotFound\Path('File not found!');
          }
  
          if (!$options)
          {
              $options = $this->fake();
          }
  
          $token = $this->getToken(
              $user,
              $options->getData('scope', '')
          );
  
          return $this->apiSend(
              $this->uploadSlice($token, $options, $file),
              function () use ($user, $options, $file) {
                  return $this->uploadSlice(
                      $this->tokenUpdate($user, $options),
                      $options,
                      $file
                  );
              }
          );
      }
docs: @param string $user
  @param string $file
  @param Slice  $options
  
  @return Slice
  
  @throws Invalid