Save the options to KE-chain.

        Makes a single API call.

        :param options_list: list of options to set.
        :raises APIError: when unable to update the options

def _put_options(self, options_list):
        """Save the options to KE-chain.

        Makes a single API call.

        :param options_list: list of options to set.
        :raises APIError: when unable to update the options
        """
        new_options = self._options.copy()  # make a full copy of the dict not to only link it and update dict in place
        new_options.update({"value_choices": options_list})
        validate(new_options, options_json_schema)

        url = self._client._build_url('property', property_id=self.id)
        response = self._client._request('PUT', url, json={'options': new_options})

        if response.status_code != 200:  # pragma: no cover
            raise APIError("Could not update property value. Response: {}".format(str(response)))
        else:
            self._options = new_options