require 'http' API_ENDPOINT = 'https://decide.madrid.es/graphql'.freeze def make_request(query_string) HTTP.headers('User-Agent' => 'Mozilla/5.0', accept: 'application/json') .get( API_ENDPOINT, params: { query: query_string.delete("\n").delete(" ") } ) end query = <<-GRAPHQL { proposal(id: 1) { id, title, public_created_at } } GRAPHQL response = make_request(query) puts "Response code: #{response.code}" puts "Response body: #{response.body}"