diff --git a/aptly-publish b/aptly-publish
index 0390a79..85b19ba 100755
--- a/aptly-publish
+++ b/aptly-publish
@@ -142,13 +142,29 @@ def include_changes_file(repo_name, package_name, changes_file):
     return True
 
 
-def include_deb_package(repo_name, path):
+def include_deb_package(repo_name, package_name, path):
     """Include a changes file using Aptly API"""
-    url = f"{args.api_url}/repos/{repo_name}/file/{os.path.basename(path)}"
+    url = f"{args.api_url}/repos/{repo_name}/file/{package_name}/{os.path.basename(path)}"
     result = session.post(url)
-    if result.status_code < 200 or result.status_code > 299:
-        data = result.json()
-        logging.error("Failed to include Debian package %s: %s", path, data.get("error"))
+    data = result.json()
+    logging.debug(
+        "include_deb_package(%s, %s, %s): API return (%d): %s",
+        repo_name, package_name, path, result.status_code, data
+    )
+    if data.get("FailedFiles"):
+        logging.error(
+            "Some error occurred including %s:\nFailed files:\n  - %s\nWarnings:  - %s",
+            path,
+            "\n  - ".join(data["FailedFiles"]),
+            "\n  - ".join(data.get("Report", {}).get("Warnings"))
+            if data.get("Report", {}).get("Warnings")
+            else "No warning",
+        )
+        return False
+    if not (result.status_code == 200 and data.get("Report", {}).get("Added")):
+        logging.error(
+            "Unknown error occurred including %s. See APTLY API logs for details.", path
+        )
         return False
     return True
 
@@ -231,7 +247,7 @@ def handle_deb_package(args, session, path):
     logging.info("  Debian package %s uploaded.", path)
 
     logging.info("  Adding Debian package %s...", path)
-    if not include_deb_package(repo_name, path):
+    if not include_deb_package(repo_name, package_name, path):
         logging.error("Failed to add file. See APTLY API logs for details.")
         sys.exit(1)
     logging.info("  Debian package %s added.", path)