def save(self, typ, data):
        """
        Save the dataset pointed to by data (create or update)
        """
        if 'id' in data:
            return self._load(self._request(typ, id=data['id'], method='PUT', data=data))

        return self.create(typ, data)