diff --git a/salsa_api.inc b/salsa_api.inc
index 2a64aea..82ea310 100644
--- a/salsa_api.inc
+++ b/salsa_api.inc
@@ -74,6 +74,40 @@ class SalsaAPI implements SalsaAPIInterface {
   }
 
   /**
+   * Implements SalsaAPIInterface::delete().
+   */
+  public function delete($object, array $keys = array()) {
+    if (!empty($keys)) {
+      $query[] = 'xml';
+      foreach ($keys as $key) {
+        $query[] = 'object=' . $object;
+        $query[] = 'key=' . $key;
+      }
+
+      $this->query('/delete', implode('&', $query));
+
+      /* @todo Implement parsing of query results.
+       *
+       * This is not possible right now because salsa API returns an invalid
+       * response for supporter, donation and probably for some other objects.
+       * In case of an invalid response, simplexml_load_string() function
+       * throws Exception.
+       *
+       * $xml = simplexml_load_string($result);
+       * if (!$xml) {
+       *    throw new SalsaQueryException("Unable to retrieve response.");
+       * }
+       * else {
+       *    return $xml;
+       * }
+       */
+    }
+    else {
+      throw new SalsaQueryException("The keys missing.");
+    }
+  }
+
+  /**
    * Implements SalsaAPIInterface::deleteTag().
    */
   public function deleteTag($object, $key, $tag) {
@@ -493,6 +527,21 @@ interface SalsaAPIInterface {
   public function query($script, $query);
 
   /**
+   * Deletes a Salsa Objects.
+   *
+   * @param $object
+   *   Salsa entity object / table.
+   * @param $keys
+   *   Primary key value.
+   *
+   * @return string
+   *   The raw result of the cURL query if successful.
+   *
+   * @throws SalsaQueryException
+   */
+  public function delete($object, array $keys = array());
+
+  /**
    * Deletes a tag from a Salsa object.
    *
    * @param $object
