diff --git a/PKG-INFO b/PKG-INFO
index 024b20b4aaf97b15ea107c9bb6cf6f392c4140fa..77466c87f795afa236a3ceeecf64636ee15fca3b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: swh.deposit
-Version: 0.0.45
+Version: 0.0.46
 Summary: Software Heritage Deposit Server
 Home-page: https://forge.softwareheritage.org/source/swh-deposit/
 Author: Software Heritage developers
diff --git a/swh.deposit.egg-info/PKG-INFO b/swh.deposit.egg-info/PKG-INFO
index 024b20b4aaf97b15ea107c9bb6cf6f392c4140fa..77466c87f795afa236a3ceeecf64636ee15fca3b 100644
--- a/swh.deposit.egg-info/PKG-INFO
+++ b/swh.deposit.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: swh.deposit
-Version: 0.0.45
+Version: 0.0.46
 Summary: Software Heritage Deposit Server
 Home-page: https://forge.softwareheritage.org/source/swh-deposit/
 Author: Software Heritage developers
diff --git a/swh/deposit/client/__init__.py b/swh/deposit/client/__init__.py
index 6761036f4c1ba2bc1f3215c3a6b7d15de477f6a7..b7712efd44da22c287d084d08c604bc19dd82300 100644
--- a/swh/deposit/client/__init__.py
+++ b/swh/deposit/client/__init__.py
@@ -66,7 +66,7 @@ class BaseApiDepositClient(SWHConfig):
         return method_fn(full_url, *args, **kwargs)
 
 
-class ApiDepositClient(BaseApiDepositClient):
+class PrivateApiDepositClient(BaseApiDepositClient):
     """Private API deposit client to:
 
     - read a given deposit's archive(s)
diff --git a/swh/deposit/client/cli.py b/swh/deposit/client/cli.py
index bdbc77680ca873d4f56362b4599b036083b85acb..ea7512b01852a4bb573097607ddbaafbe04c0fa8 100755
--- a/swh/deposit/client/cli.py
+++ b/swh/deposit/client/cli.py
@@ -84,13 +84,15 @@ def parse_cli_options(username, password, archive, metadata,
     if status and deposit_id:  # status is higher priority over deposit
         archive_deposit = False
         metadata_deposit = False
+        archive = None
+        metadata = None
 
     if archive_deposit and metadata_deposit:
         # too many flags use, remove redundant ones (-> multipart deposit)
         archive_deposit = False
         metadata_deposit = False
 
-    if archive_deposit and archive and not os.path.exists(archive):
+    if archive and not os.path.exists(archive):
         raise InputError('Software Archive %s must exist!' % archive)
 
     if archive and not metadata:
@@ -106,7 +108,7 @@ def parse_cli_options(username, password, archive, metadata,
         raise InputError(
             "Metadata deposit filepath must be provided for metadata deposit")
 
-    if not status and metadata_deposit and not os.path.exists(metadata):
+    if metadata and not os.path.exists(metadata):
         raise InputError('Software Archive metadata %s must exist!' % metadata)
 
     if not status and not archive and not metadata:
diff --git a/swh/deposit/loader/checker.py b/swh/deposit/loader/checker.py
index cb21ee81587dd9784c9d3b4d82b98b2890c608b6..b7677f52675c1739b0ec3696dbb4b529c93bbf96 100644
--- a/swh/deposit/loader/checker.py
+++ b/swh/deposit/loader/checker.py
@@ -3,7 +3,7 @@
 # License: GNU General Public License version 3, or any later version
 # See top-level LICENSE file for more information
 
-from ..client import ApiDepositClient
+from ..client import PrivateApiDepositClient
 
 
 class DepositChecker():
@@ -14,7 +14,7 @@ class DepositChecker():
     """
     def __init__(self, client=None):
         super().__init__()
-        self.client = client if client else ApiDepositClient()
+        self.client = client if client else PrivateApiDepositClient()
 
     def check(self, deposit_check_url):
         return self.client.check(deposit_check_url)
diff --git a/swh/deposit/loader/loader.py b/swh/deposit/loader/loader.py
index 22315d157c0d1e87306bfa125f0ad2482cdfc1dd..855ee415f21dc8b0ec7d18bcfd7da7c195e47700 100644
--- a/swh/deposit/loader/loader.py
+++ b/swh/deposit/loader/loader.py
@@ -11,7 +11,7 @@ from swh.model import hashutil
 from swh.loader.tar import loader
 from swh.loader.core.loader import SWHLoader
 
-from ..client import ApiDepositClient
+from ..client import PrivateApiDepositClient
 
 
 class DepositLoader(loader.TarLoader):
@@ -39,7 +39,7 @@ class DepositLoader(loader.TarLoader):
     def __init__(self, client=None):
         super().__init__(
             logging_class='swh.deposit.loader.loader.DepositLoader')
-        self.client = client if client else ApiDepositClient()
+        self.client = client if client else PrivateApiDepositClient()
 
     def load(self, *, archive_url, deposit_meta_url, deposit_update_url):
         SWHLoader.load(
diff --git a/swh/deposit/tests/loader/common.py b/swh/deposit/tests/loader/common.py
index 530a1fe3aa99790eba5a7b2c2554bf55a9460124..389a1d4786f62429805466036397c7b7b65ea1f4 100644
--- a/swh/deposit/tests/loader/common.py
+++ b/swh/deposit/tests/loader/common.py
@@ -5,7 +5,7 @@
 
 import json
 
-from swh.deposit.client import ApiDepositClient
+from swh.deposit.client import PrivateApiDepositClient
 
 
 CLIENT_TEST_CONFIG = {
@@ -14,7 +14,7 @@ CLIENT_TEST_CONFIG = {
 }
 
 
-class SWHDepositTestClient(ApiDepositClient):
+class SWHDepositTestClient(PrivateApiDepositClient):
     """Deposit test client to permit overriding the default request
        client.
 
diff --git a/swh/deposit/tests/loader/test_client.py b/swh/deposit/tests/loader/test_client.py
index c49b21d52a7ac5441cb022e8b9c0cf824a38152a..55b857d94b3913c899b812389128878f879bffee 100644
--- a/swh/deposit/tests/loader/test_client.py
+++ b/swh/deposit/tests/loader/test_client.py
@@ -11,7 +11,7 @@ import unittest
 from nose.plugins.attrib import attr
 from nose.tools import istest
 
-from swh.deposit.client import ApiDepositClient
+from swh.deposit.client import PrivateApiDepositClient
 from swh.deposit.config import DEPOSIT_STATUS_LOAD_SUCCESS
 from swh.deposit.config import DEPOSIT_STATUS_LOAD_FAILURE
 from .common import CLIENT_TEST_CONFIG
@@ -43,7 +43,7 @@ class FakeRequestClientGet:
 
 
 @attr('fs')
-class ApiDepositClientReadArchiveTest(unittest.TestCase):
+class PrivateApiDepositClientReadArchiveTest(unittest.TestCase):
     def setUp(self):
         super().setUp()
         self.temporary_directory = tempfile.mkdtemp(dir='/tmp')
@@ -63,8 +63,8 @@ class ApiDepositClientReadArchiveTest(unittest.TestCase):
             stream=(s for s in stream_content))
         _client = FakeRequestClientGet(response)
 
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         archive_path = os.path.join(self.temporary_directory, 'test.archive')
         archive_path = deposit_client.archive_get('/some/url', archive_path)
@@ -96,7 +96,7 @@ class ApiDepositClientReadArchiveTest(unittest.TestCase):
             'username': 'user',
             'password': 'pass'
         }
-        deposit_client = ApiDepositClient(_config, _client=_client)
+        deposit_client = PrivateApiDepositClient(_config, _client=_client)
 
         archive_path = os.path.join(self.temporary_directory, 'test.archive')
         archive_path = deposit_client.archive_get('/some/url', archive_path)
@@ -120,8 +120,8 @@ class ApiDepositClientReadArchiveTest(unittest.TestCase):
         """
         response = StreamedResponse(ok=False, stream=None)
         _client = FakeRequestClientGet(response)
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         with self.assertRaisesRegex(
                 ValueError,
@@ -141,7 +141,7 @@ class JsonResponse:
         return self.response
 
 
-class ApiDepositClientReadMetadataTest(unittest.TestCase):
+class PrivateApiDepositClientReadMetadataTest(unittest.TestCase):
     @istest
     def metadata_get(self):
         """Reading archive should write data in temporary directory
@@ -153,8 +153,8 @@ class ApiDepositClientReadMetadataTest(unittest.TestCase):
             ok=True,
             response=expected_response)
         _client = FakeRequestClientGet(response)
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         actual_metadata = deposit_client.metadata_get('/metadata')
 
@@ -166,8 +166,8 @@ class ApiDepositClientReadMetadataTest(unittest.TestCase):
 
         """
         _client = FakeRequestClientGet(JsonResponse(ok=False, response=None))
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
         with self.assertRaisesRegex(
                 ValueError,
                 'Problem when retrieving metadata at'):
@@ -186,15 +186,15 @@ class FakeRequestClientPut:
         self.kwargs = kwargs
 
 
-class ApiDepositClientStatusUpdateTest(unittest.TestCase):
+class PrivateApiDepositClientStatusUpdateTest(unittest.TestCase):
     @istest
     def status_update(self):
         """Update status
 
         """
         _client = FakeRequestClientPut()
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         deposit_client.status_update('/update/status',
                                      DEPOSIT_STATUS_LOAD_SUCCESS,
@@ -215,8 +215,8 @@ class ApiDepositClientStatusUpdateTest(unittest.TestCase):
 
         """
         _client = FakeRequestClientPut()
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         deposit_client.status_update('/update/status/fail',
                                      DEPOSIT_STATUS_LOAD_FAILURE)
@@ -230,7 +230,7 @@ class ApiDepositClientStatusUpdateTest(unittest.TestCase):
         })
 
 
-class ApiDepositClientCheckTest(unittest.TestCase):
+class PrivateApiDepositClientCheckTest(unittest.TestCase):
     @istest
     def check(self):
         """When check ok, this should return the deposit's status
@@ -238,8 +238,8 @@ class ApiDepositClientCheckTest(unittest.TestCase):
         """
         _client = FakeRequestClientGet(
             JsonResponse(ok=True, response={'status': 'something'}))
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         r = deposit_client.check('/check')
 
@@ -255,8 +255,8 @@ class ApiDepositClientCheckTest(unittest.TestCase):
         """
         _client = FakeRequestClientGet(
             JsonResponse(ok=False, response=None))
-        deposit_client = ApiDepositClient(config=CLIENT_TEST_CONFIG,
-                                          _client=_client)
+        deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG,
+                                                 _client=_client)
 
         with self.assertRaisesRegex(
                 ValueError,
diff --git a/version.txt b/version.txt
index 4aba396b95be084ab4ef478f3d47cc4aa22b0292..1e7be37c172397965a142214b3eb0abadeef91f7 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-v0.0.45-0-g188c002
\ No newline at end of file
+v0.0.46-0-g6620254
\ No newline at end of file