diff --git a/zuul/cmd/client.py b/zuul/cmd/client.py
index 00af538..177283e 100755
--- a/zuul/cmd/client.py
+++ b/zuul/cmd/client.py
@@ -155,9 +155,9 @@
     def autohold(self):
         client = zuul.rpcclient.RPCClient(
             self.server, self.port, self.ssl_key, self.ssl_cert, self.ssl_ca)
-        r = client.autohold(tenant_name=self.args.tenant,
-                            project_name=self.args.project,
-                            job_name=self.args.job,
+        r = client.autohold(tenant=self.args.tenant,
+                            project=self.args.project,
+                            job=self.args.job,
                             reason=self.args.reason,
                             count=self.args.count)
         return r
diff --git a/zuul/rpcclient.py b/zuul/rpcclient.py
index a2901bd..1a0a084 100644
--- a/zuul/rpcclient.py
+++ b/zuul/rpcclient.py
@@ -48,10 +48,10 @@
         self.log.debug("Job complete, success: %s" % (not job.failure))
         return job
 
-    def autohold(self, tenant_name, project_name, job_name, reason, count):
-        data = {'tenant_name': tenant_name,
-                'project_name': project_name,
-                'job_name': job_name,
+    def autohold(self, tenant, project, job, reason, count):
+        data = {'tenant': tenant,
+                'project': project,
+                'job': job,
                 'reason': reason,
                 'count': count}
         return not self.submitJob('zuul:autohold', data).failure
diff --git a/zuul/rpclistener.py b/zuul/rpclistener.py
index 0e4736c..52a7e51 100644
--- a/zuul/rpclistener.py
+++ b/zuul/rpclistener.py
@@ -94,23 +94,23 @@
         args = json.loads(job.arguments)
         params = {}
 
-        tenant = self.sched.abide.tenants.get(args['tenant_name'])
+        tenant = self.sched.abide.tenants.get(args['tenant'])
         if tenant:
-            params['tenant_name'] = args['tenant_name']
+            params['tenant_name'] = args['tenant']
         else:
-            error = "Invalid tenant: %s" % args['tenant_name']
+            error = "Invalid tenant: %s" % args['tenant']
             job.sendWorkException(error.encode('utf8'))
             return
 
-        (trusted, project) = tenant.getProject(args['project_name'])
+        (trusted, project) = tenant.getProject(args['project'])
         if project:
             params['project_name'] = project.canonical_name
         else:
-            error = "Invalid project: %s" % args['project_name']
+            error = "Invalid project: %s" % args['project']
             job.sendWorkException(error.encode('utf8'))
             return
 
-        params['job_name'] = args['job_name']
+        params['job_name'] = args['job']
         params['reason'] = args['reason']
 
         if args['count'] < 0:
