code: public function put($resourcePath, $payload = "", $queryParameters = array(),
                          $mimeType = 'application/vnd.maileon.api+xml',
                          $deserializationType = null)
      {
          $curlSession = $this->prepareSession($resourcePath, $queryParameters, $mimeType);
          /*
           *  PUT does not work as expected when passing post data, see
           *	http://developers.sugarcrm.com/wordpress/2011/11/22/howto-do-put-requests-with-php-curl-without-writing-to-a-file/
           *	Because of this, we use a custom request here.
           */
          curl_setopt($curlSession, CURLOPT_CUSTOMREQUEST, "PUT");
          curl_setopt($curlSession, CURLOPT_POSTFIELDS, $payload);
          return $this->performRequest($curlSession, $deserializationType);
      }
docs: Performs a PUT operation (i.e. an update) on a resource.
  
  @param string $resourcePath
  the path of the resource to PUT
  @param string $payload
  the payload data to PUT, i.e. the data to update the current state of the resource with
  @param array $queryParameters
  any additional query parameters
  @param string $mimeType
  the acceptable response MIME type
  @param mixed $deserializationType
  The name of the class this result should be deserialized as. Use
  array( 'array', 'typename' ) to deserialize arrays of a type.
  @return \em MaileonAPIResult
  the result object of the API call
  @throws MaileonAPIException
  if there was a connection problem or a server error occurred