public function update(array $data)
    {
        if (empty($this[static::ID_FIELD])) {
            throw new \RuntimeException(static::ID_FIELD . ' property is not defined');
        }

        return $this->put($this->getLocation(), $data)
            ->status('200')
            ->contentType('application/json')
            ->getJson();
    }