def post(self, *args, **kwargs): public_key_id = PublicKey.encode(self.params.post['public_key']) try: key = PublicKey.get(public_key_id) except: key = PublicKey.create(public_key_id=public_key_id, raw=self.params.post['public_key']) return marshal_and_count('keys', key, f=self.params.fields)