# File lib/capistrano/harrow/api.rb, line 50
      def sign_up(data)
        begin
          response = @client.post(
            @url.merge(@url.path + '/capistrano/sign-up'),
            {'Content-Type' => 'application/json',
             'User-Agent' => user_agent,
            },
            data.to_json,
          )
        rescue StandardError => e
          raise FatalError.new(e)
        end

        response_code = response.code.to_i
        if response_code >= 200 && response_code < 300
          JSON.parse(response.body, symbolize_names: true)
        elsif response_code == 422
          data = JSON.parse(response.body, symbolize_names: true)
          if data.fetch(:reason, 'ok') == 'invalid'
            data
          else
            raise ProtocolError.new(response)
          end
        else
          raise ProtocolError.new(response)
        end
      end